/* 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:#f0143f;--volt-dim:#8a0b24;--volt-glow:rgba(240,20,63,.32);--amber:#f5c518;--green:#36dc75;--orange:#ff8a1e;--redx:#ff5c5c;--blue:#4aa3ff;--ink:#f2f0ee;--mbx-hero:radial-gradient(ellipse 130% 60% at 50% 0%,rgba(240,20,63,.28),transparent 62%),linear-gradient(115deg,transparent 38%,rgba(240,20,63,.10) 38.5%,transparent 44%),linear-gradient(115deg,transparent 52%,rgba(240,20,63,.07) 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%,rgba(240,20,63,.16),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(rgba(240,20,63,.05) 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,rgba(240,20,63,.07),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,rgba(240,20,63,.18),rgba(240,20,63,.06));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:rgba(240,20,63,.24)}.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:#fff}.go{width:100%;height:54px;border:none;border-radius:13px;background:var(--volt);color:#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:rgba(240,20,63,.14);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 rgba(240,20,63,.65);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:rgba(240,20,63,.8)}.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 rgba(240,20,63,.7);border-bottom:2px solid rgba(240,20,63,.7)}.gt-launch{min-height:62px;padding:0 40px;border-radius:16px;border:none;background:var(--volt);color:#fff;font:800 14px/1 inherit;font-style:italic;letter-spacing:.14em;cursor:pointer;box-shadow:0 14px 32px rgba(240,20,63,.4)}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%,rgba(240,20,63,.55),rgba(240,20,63,.12) 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,rgba(240,20,63,.13),rgba(240,20,63,.03));box-shadow:0 0 22px rgba(240,20,63,.10) 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:#fff;font:800 16px/1 inherit;font-style:italic;letter-spacing:.12em;cursor:pointer;box-shadow:0 10px 26px rgba(240,20,63,.42);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%,rgba(240,20,63,.32),transparent 48%),rgba(5,5,6,.975);animation:cbFlash .22s ease-out}#mbCeleb.on{display:flex}@keyframes cbFlash{0%{background-color:rgba(240,20,63,.55)}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 rgba(240,20,63,.85))}.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:#fff;font:800 16px/1 inherit;font-style:italic;letter-spacing:.18em;cursor:pointer;box-shadow:0 14px 34px rgba(240,20,63,.45);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 rgba(240,20,63,.35);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 rgba(240,20,63,.5);background:rgba(240,20,63,.12);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:#fff;
 box-shadow:0 10px 30px rgba(240,20,63,.45)}
.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 rgba(240,20,63,.3);border-radius:16px;padding:16px;margin:12px 0;background:linear-gradient(155deg,rgba(240,20,63,.1),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:#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:#fff}.cal .cc.bonus{background:rgba(240,20,63,.25);border-color:var(--volt);color:var(--volt)}.cal .cc.due{border-color:var(--volt);color:var(--volt);box-shadow:0 0 10px rgba(240,20,63,.4)}.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,rgba(240,20,63,.13),rgba(240,20,63,.03))}.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:#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:#fff;
  font:800 16px/1 inherit;font-style:italic;letter-spacing:.12em;cursor:pointer;
  box-shadow:0 10px 26px rgba(240,20,63,.42);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,rgba(240,20,63,.16),var(--sur-1));
 border:1px solid rgba(240,20,63,.35);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:rgba(240,20,63,.08);border-color:rgba(240,20,63,.25)}
.cald.on{background:var(--volt);border-color:var(--volt);color:#fff;box-shadow:0 4px 14px rgba(240,20,63,.45)}
.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,rgba(240,20,63,.09) 0 2px,transparent 2px 13px),
  radial-gradient(120% 90% at 78% 8%,rgba(240,20,63,.30),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,rgba(240,20,63,.2),transparent);
 border-top:1px solid rgba(240,20,63,.35);
 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:#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,rgba(240,20,63,.16),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:rgba(240,20,63,.2);border-color:var(--volt);color:#fff}
.rcd.national{background:var(--volt);border-color:var(--volt);color:#fff;
 box-shadow:0 3px 12px rgba(240,20,63,.45)}
.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:rgba(240,20,63,.12);
  border:1px solid rgba(240,20,63,.45);color:var(--volt,#F0143F);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:rgba(240,20,63,.22)}
.rfm-ask-cv{margin:14px 0 8px;background:var(--volt,#F0143F);color:#fff;border-color:var(--volt,#F0143F);
  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:rgba(240,20,63,.2);border-color:var(--volt);color:#fff}
.rcd.national{background:var(--volt);border-color:var(--volt);color:#fff;
 box-shadow:0 3px 12px rgba(240,20,63,.45)}
.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:rgba(240,20,63,.16);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:#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:#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:#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:#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:#fff;border-color:var(--volt);animation:micp 1s ease-in-out infinite}
@keyframes micp{0%,100%{box-shadow:0 0 0 0 rgba(255,42,58,.55)}50%{box-shadow:0 0 0 11px rgba(255,42,58,0)}}
.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:#fff!important;box-shadow:0 0 0 0 rgba(240,20,63,.5);animation:rfMicPulse 1.3s infinite}
@keyframes rfMicPulse{0%{box-shadow:0 0 0 0 rgba(240,20,63,.55)}70%{box-shadow:0 0 0 14px rgba(240,20,63,0)}100%{box-shadow:0 0 0 0 rgba(240,20,63,0)}}
.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%,#ff6274,#f0143f 47%,#9d0b26 100%);
box-shadow:0 0 48px 6px rgba(240,20,63,.55),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 rgba(240,20,63,.42)}
#rfOrbOv.listening #rfOrb{animation:rfBreath 2.6s ease-in-out infinite}
#rfOrbOv.listening .rfRing{border-color:rgba(240,20,63,.5);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 rgba(255,42,58,.85),inset 0 0 30px rgba(0,0,0,.3)}
#rfOrbOv.speaking #rfOrb{
background:radial-gradient(circle at 42% 37%,#ffffff,#ffd2da 28%,#ff5f72 60%,#f0143f 100%);
box-shadow:0 0 66px 12px rgba(255,255,255,.5),0 0 96px 26px rgba(240,20,63,.6),inset 0 0 26px rgba(255,186,196,.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,#F0143F);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%,rgba(240,20,63,.18),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:#F0143F;color:#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,rgba(240,20,63,.16),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,rgba(240,20,63,.06),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 rgba(240,20,63,.34);
  background:
    repeating-linear-gradient(115deg,rgba(240,20,63,.07) 0 2px,transparent 2px 17px),
    radial-gradient(120% 95% at 8% 0%,rgba(240,20,63,.20),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:#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,rgba(240,20,63,.075) 0 2px,transparent 2px 17px),
    radial-gradient(120% 95% at 6% 0%,rgba(240,20,63,.20),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 rgba(240,20,63,.5);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 rgba(240,20,63,.32);
  background:linear-gradient(180deg,rgba(240,20,63,.10),rgba(240,20,63,.02));
  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 rgba(240,20,63,.42) !important;border-radius:18px !important;
  padding:20px 18px !important;margin:18px 0 16px !important;
  background:
    repeating-linear-gradient(115deg,rgba(240,20,63,.06) 0 2px,transparent 2px 16px),
    linear-gradient(135deg,rgba(240,20,63,.20),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,#F0143F) !important}
.mday.race-national .mdot{box-shadow:0 0 0 2.5px var(--volt,#F0143F),0 0 11px 1px var(--volt,#F0143F) !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,#F0143F) !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:rgba(240,20,63,.14);border:1px solid rgba(240,20,63,.5);color:#ff6274;
  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:rgba(240,20,63,.5)}
.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,#F0143F)}
.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,#F0143F);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,#F0143F);color:#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:#F0143F;color:#fff;font-size:11px;letter-spacing:.26em;font-weight:800;cursor:pointer;
  font-family:inherit;box-shadow:0 10px 26px rgba(240,20,63,.34)}
.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:99998;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:#F0143F}
.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}
.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:#F0143F;color:#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:#F0143F;border-color:#F0143F}
.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:#ff5a72;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:rgba(240,20,63,.14);border:1px solid rgba(240,20,63,.4);
  display:flex;align-items:center;justify-content:center}
.rfBkRow .bi svg{width:17px;height:17px;stroke:var(--volt,#F0143F)}
.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,#F0143F)}

/* ---- 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:rgba(240,20,63,.14);border:1px solid rgba(240,20,63,.4);
  display:flex;align-items:center;justify-content:center}
.rfBkRow .bi svg{width:17px;height:17px;stroke:var(--volt,#F0143F)}
.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,#F0143F)}


/* ===== 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:rgba(240,20,63,.14);
  border:1px solid rgba(240,20,63,.4);display:flex;align-items:center;justify-content:center;
  color:var(--volt,#F0143F);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,#F0143F)}
.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,#F0143F)}
.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,#F0143F);background:var(--volt,#F0143F);color:#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 rgba(240,20,63,.4);background:rgba(240,20,63,.08);color:var(--volt,#F0143F);
  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 rgba(240,20,63,.4);
  border-radius:14px;background:rgba(240,20,63,.08);padding:15px 16px;margin-top:10px;cursor:pointer}
.rfCd .ci{flex:none;width:34px;height:34px;border-radius:10px;background:var(--volt,#F0143F);
  display:flex;align-items:center;justify-content:center;color:#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,#F0143F)}
.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,#F0143F);
  text-align:center;padding:14px;border:1px dashed rgba(240,20,63,.5);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 rgba(240,20,63,.4);
  border-radius:14px;background:rgba(240,20,63,.08);padding:14px 15px;margin:10px 0 4px;cursor:pointer}
.rfLbBtn .li{flex:none;width:32px;height:32px;border-radius:9px;background:var(--volt,#F0143F);
  display:flex;align-items:center;justify-content:center;color:#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,#F0143F)}
.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,#F0143F);border-color:var(--volt,#F0143F);color:#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,#F0143F);background:rgba(240,20,63,.10)}
.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,#F0143F);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,#F0143F);color:#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:rgba(240,20,63,.16);color:var(--volt,#F0143F);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:rgba(240,20,63,.16);color:var(--volt,#F0143F)}

/* ===== 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:#F0143F;border-color:#F0143F}
#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:rgba(240,20,63,.14);border:1px solid rgba(240,20,63,.6)}
.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:rgba(240,20,63,.2);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 rgba(240,20,63,.5);
  border-radius:13px;padding:15px;background:rgba(240,20,63,.12);color:#fff;
  font:800 11px/1 inherit;letter-spacing:.2em;cursor:pointer;font-family:inherit}
.rfShareBtn:active{background:rgba(240,20,63,.24)}

/* ===== 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 rgba(240,20,63,.45);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:#F0143F;
  display:flex;align-items:center;justify-content:center;color:#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:#F0143F;color:#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:#F0143F;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:#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,rgba(240,20,63,.14),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,#F0143F) !important}

.mgrid .mday.race-national .mdot{
  position:relative;
  background:rgba(240,20,63,.30) !important;
  border-color:var(--volt,#F0143F) !important;
  color:#fff !important;font-weight:900 !important;
  box-shadow:0 0 0 3px var(--volt,#F0143F),
             0 0 0 6px rgba(240,20,63,.30),
             0 0 14px 2px rgba(240,20,63,.55) !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,#F0143F);color:#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,#F0143F) !important;background:none !important;
  box-shadow:none !important}
.mleg .lg.rc.national{background:rgba(240,20,63,.35) !important;
  box-shadow:0 0 0 2px rgba(240,20,63,.35),0 0 7px rgba(240,20,63,.7) !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:rgba(240,20,63,.11);border:1px solid rgba(240,20,63,.45)}
.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,#F0143F)}
.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,#F0143F);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,#F0143F);color:#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:rgba(240,20,63,.14);border-color:rgba(240,20,63,.6)}
.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,#F0143F)}
.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,#F0143F)}

/* 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,#F0143F)}

/* 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,#F0143F)}
.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:rgba(240,20,63,.6);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,#F0143F)}
#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,#F0143F)}
#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,#F0143F)}
.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,rgba(240,20,63,.16),rgba(240,20,63,.05) 60%,transparent);
  border:1px solid rgba(240,20,63,.5);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:rgba(240,20,63,.22)}
.rfuDoor .dm{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:var(--volt,#F0143F);color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em;
  font-style:italic;box-shadow:0 6px 18px rgba(240,20,63,.35)}
.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,#F0143F)}
.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,#F0143F);
  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:rgba(240,20,63,.12);color:var(--volt,#F0143F);
  border:1px solid rgba(240,20,63,.3)}
.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,#F0143F);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:rgba(240,20,63,.10);border:1px solid rgba(240,20,63,.45)}
.rfuYou b{color:var(--ink)}
.rfuYou .k{font-size:8px;letter-spacing:.22em;font-weight:800;color:var(--volt,#F0143F);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:rgba(240,20,63,.10) !important;border:1px solid rgba(240,20,63,.30) !important;
  color:var(--volt,#F0143F) !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,#F0143F) !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,#F0143F)}
.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,#F0143F) !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,#F0143F);white-space:nowrap}
#v-modes .bigbtn.focus .rfgx-arrow{color:var(--volt,#F0143F)}
/* ---- 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,#F0143F) !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,#F0143F) !important;padding:3px 6px !important;
  border-radius:6px !important;background:rgba(240,20,63,.12) !important;
  border:1px solid rgba(240,20,63,.35) !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,#F0143F);padding:3px 6px;border-radius:6px;background:rgba(240,20,63,.12);
  border:1px solid rgba(240,20,63,.35)}
.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:rgba(240,20,63,.12);
  display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--volt,#f0143f)}
.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,#f0143f)}
.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,#f0143f);background:rgba(240,20,63,.12);
  color:#fff;font:800 15px/1 inherit;font-style:italic;letter-spacing:.14em;cursor:pointer;margin-top:8px}
.rfg-tap.on{background:var(--volt,#f0143f)}
.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 rgba(240,20,63,.7)}
.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,#f0143f)}
#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,#f0143f);color:#fff;
  font:800 14px/1 inherit;font-style:italic;letter-spacing:.16em;cursor:pointer;box-shadow:0 14px 32px rgba(240,20,63,.4)}
.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,#f0143f);
  background:rgba(240,20,63,.12);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,#f0143f);
  border:1px solid rgba(240,20,63,.5);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,#f0143f);
  background:transparent;color:#fff;font:800 9.5px/1 inherit;letter-spacing:.14em;cursor:pointer}
.rfrp-ev button.on{background:var(--volt,#f0143f)}
.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,#f0143f);border-radius:12px;padding:10px 12px;margin:10px 0 2px;
  background:linear-gradient(180deg,rgba(240,20,63,.14),rgba(240,20,63,.03))}
.rfrp-goal .rfrp-ev{border:none;padding:4px 0}
.rfrp-k{font-size:8.5px;letter-spacing:.24em;font-weight:800;color:var(--volt,#f0143f)}
.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,#f0143f);border-color:var(--volt,#f0143f);color:#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,#f0143f) !important;border-color:var(--volt,#f0143f) !important;color:#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,rgba(240,20,63,.12),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,#f0143f);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:#F0143F;color:#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:rgba(240,20,63,.4)}
.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%,rgba(240,20,63,.42),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 rgba(240,20,63,.55)}
.suDots i.up{box-shadow:0 0 0 2px rgba(240,20,63,.32)}
.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,#f0143f);vertical-align:2px;opacity:.75}
.rfx:hover,.rfx:active{color:var(--tx,#f5f3f2);border-bottom-color:var(--volt,#f0143f)}
.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,#f0143f);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:#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 rgba(240,20,63,.35)}
.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,rgba(240,20,63,.16),rgba(240,20,63,.03));
 border-color:rgba(240,20,63,.42);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}
