    .sidebarStreakDock { margin:8px 0 12px; }
    .topDesktop { justify-content:space-between; gap:14px; }
    .streakLaunch,
    .streakTopChip {
      width:100%;
      display:flex;
      align-items:center;
      gap:12px;
      border:0;
      cursor:pointer;
      text-align:left;
      color:#fff8d7;
      background:radial-gradient(circle at 16% 8%, rgba(255,220,88,.26), transparent 28%), linear-gradient(180deg,#5b1bc4 0%, #431096 52%, #2d066d 100%);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:0 7px 0 rgba(31,0,77,.62), 0 16px 28px rgba(19,3,50,.24), inset 0 1px 0 rgba(255,255,255,.18);
      transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
    }
    .streakLaunch { border-radius:20px; padding:10px 11px; }
    .streakTopChip { width:auto; min-width:236px; border-radius:18px; padding:8px 12px; }
    .streakLaunchLead { display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; }
    .streakLaunch:hover,
    .streakTopChip:hover { transform:translateY(-2px); filter:saturate(1.04); }
    .streakLaunchFlame {
      flex:0 0 46px;
      width:46px;
      height:46px;
      display:grid;
      place-items:center;
      border-radius:15px;
      background:radial-gradient(circle at 30% 22%, rgba(255,255,255,.75), transparent 34%), linear-gradient(160deg,#ffe86e 0%, #ffbb28 48%, #ff7b35 100%);
      box-shadow:0 5px 0 rgba(185,90,0,.55), 0 10px 18px rgba(255,144,36,.20), inset 0 1px 0 rgba(255,255,255,.52);
    }
    .streakTopChip .streakLaunchFlame { width:38px; height:38px; flex-basis:38px; border-radius:13px; }
    .streakFlameGlyph { font-size:1.42rem; line-height:1; filter:drop-shadow(0 5px 8px rgba(126,41,0,.24)); }
    .streakTopChip .streakFlameGlyph { font-size:1.16rem; }
    .streakLaunchBody { min-width:0; display:flex; flex-direction:column; gap:3px; flex:1 1 auto; }
    .streakLaunchCount { font-size:1.3rem; line-height:1; font-weight:1000; color:#fff8d7; white-space:nowrap; text-shadow:0 2px 0 rgba(56,20,0,.35); }
    .streakLaunchEyebrow { font-size:.68rem; font-weight:1000; letter-spacing:.08em; text-transform:uppercase; color:#78e8ff; }
    .streakLaunchMeta,
    .streakLaunchReward { font-size:.7rem; line-height:1.18; font-weight:900; color:#f4e8ff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .streakLaunchReward { color:#ffe86e; }
    .streakLaunchTag {
      align-self:flex-start;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:58px;
      min-height:28px;
      border-radius:999px;
      padding:6px 9px;
      font-size:.66rem;
      font-weight:1000;
      color:#5b3900;
      background:linear-gradient(180deg,#ffe86e,#f6b21b);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 3px 0 rgba(185,124,0,.55);
    }
    .streakLaunchTag--active { color:#06245c; background:linear-gradient(180deg,#80eaff,#1c9cf7); box-shadow:0 3px 0 rgba(7,94,145,.75); }
    .streakLaunchTag--secured { color:#063a18; background:linear-gradient(180deg,#8cfca2,#34d65f); box-shadow:0 3px 0 rgba(23,126,47,.72); }
    .streakLaunchTag--lost { color:#fff; background:linear-gradient(180deg,#ff7a90,#e11d48); box-shadow:0 3px 0 rgba(137,18,44,.75); }
    .streakLaunchTag--fresh { color:#5b3900; background:linear-gradient(180deg,#ffe86e,#f6b21b); }
    .streakLaunchTag[hidden],
    .streakObjectivePill[hidden],
    .streakModalText[hidden] {
      display:none !important;
    }
    .streakLaunch--mobile { padding:11px 12px; border-radius:21px; }
    .streakLaunch--mobile .streakLaunchFlame { flex-basis:46px; width:46px; height:46px; border-radius:15px; }
    .streakLaunch--mobile .streakLaunchCount { font-size:1.32rem; }
    .streakLaunch--mobile .streakLaunchTag { min-width:0; padding:7px 10px; }
    .resources { gap:6px; }
    .resource {
      padding:7px 8px 7px;
      border-radius:17px;
    }
    .resourceValue {
      font-size:1rem;
      line-height:1;
    }
    .resourceTop {
      margin-bottom:1px;
      gap:8px;
    }
    .resource .currencyIcon {
      width:40px;
      height:40px;
      min-width:40px;
      flex-basis:40px;
      margin-top:-3px;
      margin-bottom:-3px;
      border-radius:13px;
    }
    .resource .currencyIcon img {
      width:78%;
      height:78%;
    }
    .resource .resourceLabel {
      font-size:.66rem;
      letter-spacing:.12em;
    }

    .sidebarStreakDock .streakLaunch {
      gap:8px;
      padding:7px 8px;
      border-radius:17px;
    }
    .sidebarStreakDock .streakLaunchLead {
      gap:6px;
    }
    .sidebarStreakDock .streakLaunchFlame {
      flex-basis:34px;
      width:34px;
      height:34px;
      border-radius:11px;
    }
    .sidebarStreakDock .streakFlameGlyph {
      font-size:1rem;
    }
    .sidebarStreakDock .streakLaunchBody {
      gap:1px;
    }
    .sidebarStreakDock .streakLaunchCount {
      font-size:1rem;
    }
    .sidebarStreakDock .streakLaunchMeta,
    .sidebarStreakDock .streakLaunchReward {
      font-size:.6rem;
      line-height:1.1;
    }
    .sidebarStreakDock .streakLaunchTag {
      min-width:48px;
      min-height:22px;
      padding:4px 7px;
      font-size:.58rem;
    }

    .mobileTopStats {
      display:flex !important;
      align-items:center !important;
      justify-content:flex-end !important;
      gap:6px !important;
      flex:1 1 auto !important;
      min-width:0 !important;
      max-width:100% !important;
      overflow:visible !important;
    }
    .miniCurrency {
      min-width:0 !important;
      max-width:none !important;
      width:auto !important;
      height:40px !important;
      padding:5px 9px !important;
      border-radius:12px !important;
      display:inline-flex !important;
      align-items:center !important;
      gap:6px !important;
      flex:1 1 0 !important;
      overflow:visible !important;
      white-space:nowrap !important;
    }
    .miniCurrency strong {
      display:block !important;
      min-width:0 !important;
      max-width:none !important;
      font-size:11px !important;
      line-height:1 !important;
      white-space:nowrap !important;
      overflow:visible !important;
      text-overflow:clip !important;
      letter-spacing:-.02em !important;
      font-variant-numeric:tabular-nums !important;
    }
    .miniCurrency .currencyIcon {
      width:24px;
      height:24px;
      min-width:24px;
    }
    .miniCurrency .currencyIcon img {
      width:78%;
      height:78%;
    }

    .miniCurrency--streak {
      border:1px solid rgba(255,255,255,.22);
      cursor:pointer;
      color:#fff8d7;
      background:linear-gradient(180deg,#5b1bc4 0%, #42109b 58%, #2d066d 100%);
    }
    .miniCurrency--streak .miniStreakIcon {
      width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center;
      border-radius:999px; background:linear-gradient(160deg,#ffe86e,#ff9f2d);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
      font-size:.82rem; line-height:1;
    }
    .streakLaunch.is-boosted,
    .streakTopChip.is-boosted,
    .miniCurrency--streak.is-boosted {
      animation:streakPulse .76s ease;
    }
    .streakModalDialog.is-sync {
      animation:streakModalSync .82s ease;
    }
    .mobileBottom .tabBtn .navIcon {
      width:32px;
      height:32px;
      flex-basis:32px;
      border-radius:11px;
      font-size:.95rem;
      transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .mobileBottom .tabBtn.active .navIcon {
      transform:translateY(-1px);
      filter:saturate(1.04);
    }
    @keyframes streakPulse {
      0% { transform:translateY(0) scale(1); filter:saturate(1); }
      32% { transform:translateY(-3px) scale(1.04); filter:saturate(1.16); }
      62% { transform:translateY(1px) scale(.99); }
      100% { transform:translateY(0) scale(1); filter:saturate(1); }
    }
    @keyframes streakModalSync {
      0% { transform:translateY(0) scale(1); box-shadow:0 32px 80px rgba(4,0,18,.42), inset 0 1px 0 rgba(255,255,255,.16); }
      34% { transform:translateY(-4px) scale(1.01); box-shadow:0 40px 92px rgba(4,0,18,.52), 0 0 0 1px rgba(255,232,110,.28), 0 0 28px rgba(255,176,49,.26), inset 0 1px 0 rgba(255,255,255,.20); }
      100% { transform:translateY(0) scale(1); box-shadow:0 32px 80px rgba(4,0,18,.42), inset 0 1px 0 rgba(255,255,255,.16); }
    }
    .sidebarGuestDock {
      display:grid;
      gap:10px;
      margin-top:auto;
      padding:12px;
      border-radius:22px;
      background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 16px 28px rgba(10,2,34,.18);
    }
    .sidebarGuestEyebrow {
      font-size:.68rem;
      font-weight:1000;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#78e8ff;
    }
    .sidebarGuestTitle {
      font-size:1rem;
      line-height:1.08;
      font-weight:1000;
      color:#fff6d9;
    }
    .sidebarGuestText {
      color:#f0e9ff;
      font-size:.76rem;
      font-weight:800;
      line-height:1.35;
    }
    .sidebarGuestActions,
    .mobileGuestActions,
    .authGateActions,
    .authGateFooter {
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }
    .sidebarGuestActions .btn3d,
    .sidebarGuestActions .btnGhost,
    .mobileGuestActions .btn3d,
    .mobileGuestActions .btnGhost,
    .authGateActions .btn3d,
    .authGateActions .btnGhost,
    .authGateFooter .btnGhost {
      flex:1 1 auto;
      min-width:0;
      text-align:center;
    }
    .mobileGuestActions {
      width:auto;
      max-width:100%;
      justify-content:flex-end;
      margin-left:auto;
    }
    .mobileGuestActions .btn3d,
    .mobileGuestActions .btnGhost {
      min-height:38px;
      padding:10px 12px;
      border-radius:13px;
      font-size:.76rem;
      line-height:1;
    }
    .mobileTop--guest {
      background:transparent !important;
      border-bottom:0 !important;
      box-shadow:none !important;
      backdrop-filter:none !important;
    }
    .mobileTopInner--guest {
      display:grid !important;
      grid-template-columns:44px minmax(0, 1fr) !important;
      align-items:center !important;
      width:100%;
      column-gap:14px !important;
    }
    .mobileTopInner--guest .mobileBrandBadge {
      grid-column:1;
      width:44px;
      height:44px;
      flex:0 0 44px;
    }
    .mobileTopInner--guest .topActions--mobile {
      grid-column:2;
      display:flex !important;
      align-items:center !important;
      justify-content:flex-end !important;
      justify-self:end !important;
      min-width:0;
      width:auto !important;
      max-width:100% !important;
      margin-left:auto !important;
      padding:0 !important;
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
    }
    .mobileTopInner--guest .mobileGuestActions {
      display:flex;
      gap:8px;
      flex-wrap:nowrap;
      align-items:center;
      justify-content:flex-end !important;
      width:auto !important;
      max-width:100%;
      margin-left:auto !important;
    }
    .mobileTopInner--guest .mobileGuestActions .btn3d,
    .mobileTopInner--guest .mobileGuestActions .btnGhost {
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto !important;
      min-width:0;
      width:auto;
      padding-left:10px !important;
      padding-right:10px !important;
      font-size:clamp(11px,3.15vw,12px) !important;
      white-space:nowrap;
    }
    .authGateModal { position:fixed; inset:0; z-index:90; display:none; }
    .authGateModal.open { display:block; }
    .authGateBackdrop { position:absolute; inset:0; background:rgba(7,2,22,.76); backdrop-filter:blur(12px); }
    .authGateDialog {
      position:relative;
      z-index:1;
      width:min(520px, calc(100% - 24px));
      margin:16px auto 0;
      padding:20px;
      border-radius:30px;
      color:#fff7de;
      background:
        radial-gradient(circle at 18% 8%, rgba(255,223,102,.20), transparent 24%),
        radial-gradient(circle at 84% 14%, rgba(120,232,255,.18), transparent 20%),
        linear-gradient(180deg,#4f13b5 0%, #34107f 56%, #210653 100%);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:0 34px 80px rgba(3,0,18,.44), inset 0 1px 0 rgba(255,255,255,.18);
    }
    .authGateClose {
      position:absolute;
      top:14px;
      right:14px;
      width:44px;
      height:44px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:16px;
      background:linear-gradient(180deg,rgba(120,66,255,.90),rgba(61,20,156,.92));
      color:#fff;
      font-size:1.2rem;
      font-weight:1000;
      cursor:pointer;
      display:grid;
      place-items:center;
      box-shadow:0 10px 20px rgba(10,2,34,.28);
    }
    .authGateHero {
      display:grid;
      gap:14px;
      padding:16px;
      border-radius:24px;
      background:linear-gradient(135deg,rgba(255,232,110,.18),rgba(120,232,255,.10) 52%,rgba(255,255,255,.06));
      border:1px solid rgba(255,232,110,.22);
    }
    .authGateEyebrow {
      font-size:.7rem;
      font-weight:1000;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#78e8ff;
    }
    .authGateTitle {
      margin:4px 0 0;
      font-size:clamp(1.45rem, 2.2vw, 2rem);
      line-height:1.02;
      font-weight:1000;
      color:#fff8d7;
    }
    .authGateText {
      margin:0;
      color:#f3ebff;
      font-size:.92rem;
      font-weight:800;
      line-height:1.4;
    }
    .authGateOptionGrid {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:10px;
      margin-top:16px;
    }
    .authGateOption {
      display:grid;
      gap:7px;
      padding:14px;
      border-radius:20px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
    }
    .authGateOption strong {
      color:#fff8d7;
      font-size:.92rem;
      line-height:1.1;
    }
    .authGateOption span {
      color:#e9deff;
      font-size:.76rem;
      font-weight:800;
      line-height:1.35;
    }
    body.streak-modal-open,
    body.streak-celebration-open,
    body.fan-pick-reward-modal-open,
    body.auth-gate-modal-open { overflow:hidden; }
    @media (max-width: 1100px) {
      .mobileTopInner--guest {
        display:grid !important;
        grid-template-columns:44px minmax(0, 1fr) !important;
        align-items:center !important;
        justify-content:stretch !important;
        width:100%;
        column-gap:14px !important;
      }
      .mobileTopInner--guest .mobileBrandBadge {
        width:44px;
        height:44px;
        flex:0 0 44px;
      }
      .mobileTopInner--guest .topActions--mobile {
        width:auto !important;
        max-width:100% !important;
        margin-left:auto !important;
        justify-content:flex-end !important;
        justify-self:end !important;
      }
    }
    @media (max-width: 980px) {
      .mobileTop {
        position:fixed !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        z-index:95 !important;
        width:100% !important;
        margin:0 !important;
        padding-top:calc(8px + env(safe-area-inset-top, 0px)) !important;
        box-sizing:border-box !important;
      }
      .main,
      .dashboardMain {
        padding-top:calc(var(--spid-mobile-topnav-h, 84px) + env(safe-area-inset-top, 0px) + 12px) !important;
      }
      .mobileGuestActions { justify-content:flex-end; }
      .mobileGuestActions .btn3d,
      .mobileGuestActions .btnGhost { flex:0 0 auto; }
      .authGateOptionGrid { grid-template-columns:1fr; }
      .mobileTopStats { gap:5px !important; }
      .miniCurrency {
        min-width:0 !important;
        height:39px !important;
        padding:5px 8px !important;
        gap:5px !important;
      }
      .miniCurrency strong {
        font-size:clamp(10.5px, 2.75vw, 12.5px) !important;
      }
      .miniCurrency .currencyIcon,
      .miniCurrency--streak .miniStreakIcon {
        width:22px !important;
        height:22px !important;
        min-width:22px !important;
        flex-basis:22px !important;
      }
    }
    @media (max-width: 520px) {
      .mobileTopInner--guest {
        grid-template-columns:42px minmax(0, 1fr) !important;
        column-gap:10px !important;
      }
      .mobileTopInner--guest .mobileBrandBadge {
        width:42px;
        height:42px;
        flex-basis:42px;
      }
      .mobileTopInner--guest .mobileGuestActions { gap:6px; }
      .mobileTopInner--guest .mobileGuestActions .btn3d,
      .mobileTopInner--guest .mobileGuestActions .btnGhost {
        padding-left:7px !important;
        padding-right:7px !important;
        font-size:clamp(10px,3.05vw,11px) !important;
      }
      .sidebarGuestActions,
      .authGateActions,
      .authGateFooter { flex-direction:column; }
      .authGateDialog { padding:18px; }
      .mobileTopStats { gap:4px !important; }
      .miniCurrency {
        height:38px !important;
        padding:4px 7px !important;
        border-radius:11px !important;
      }
      .miniCurrency strong {
        font-size:clamp(9.5px, 3vw, 11.5px) !important;
        letter-spacing:-.03em !important;
      }
    }
    @media (max-width: 360px) {
      .mobileTopInner--guest {
        grid-template-columns:38px minmax(0, 1fr) !important;
        column-gap:8px !important;
      }
      .mobileTopInner--guest .mobileBrandBadge {
        width:38px;
        height:38px;
        flex-basis:38px;
      }
      .mobileTopInner--guest .mobileGuestActions { gap:5px; }
      .mobileTopInner--guest .mobileGuestActions .btn3d,
      .mobileTopInner--guest .mobileGuestActions .btnGhost {
        min-height:34px;
        padding-left:6px !important;
        padding-right:6px !important;
        border-radius:12px;
        font-size:10px !important;
      }
      .miniCurrency strong {
        font-size:clamp(8px, 3.1vw, 10px) !important;
      }
      .miniCurrency .currencyIcon,
      .miniCurrency--streak .miniStreakIcon {
        width:19px !important;
        height:19px !important;
        min-width:19px !important;
        flex-basis:19px !important;
      }
    }
    .streakModal { position:fixed; inset:0; z-index:65; display:none; }
    .streakModal.open { display:block; }
    .streakModalBackdrop { position:absolute; inset:0; background:rgba(9,2,28,.72); backdrop-filter:blur(10px); }
    .streakModalDialog {
      position:relative;
      z-index:1;
      width:min(680px, calc(100% - 24px));
      max-height:calc(100vh - 24px);
      overflow:auto;
      margin:12px auto 0;
      padding:18px;
      border-radius:28px;
      color:#fff8d7;
      background:radial-gradient(circle at 20% 0%, rgba(255,217,61,.18), transparent 28%), linear-gradient(180deg,#4b11aa 0%, #2d066d 58%, #1d034b 100%);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:0 32px 80px rgba(4,0,18,.42), inset 0 1px 0 rgba(255,255,255,.16);
    }
    .streakModalDialog::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      border-radius:inherit;
      background:
        radial-gradient(circle at 14% 12%, rgba(255,189,82,.28), transparent 20%),
        radial-gradient(circle at 88% 10%, rgba(255,126,53,.22), transparent 18%),
        linear-gradient(180deg, rgba(255,255,255,.10), transparent 26%);
      opacity:.95;
    }
    .streakModalDialog > * { position:relative; z-index:1; }
    .streakModalClose {
      position:absolute; top:12px; right:12px; z-index:5; width:44px; height:44px; border:1px solid rgba(255,255,255,.20); cursor:pointer; border-radius:16px;
      font-size:1.28rem; font-weight:1000; color:#fff; background:linear-gradient(180deg,rgba(113,55,255,.88),rgba(56,18,148,.88)); box-shadow:0 10px 22px rgba(8,0,29,.28), inset 0 1px 0 rgba(255,255,255,.26);
      display:grid; place-items:center; transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
    }
    .streakModalClose:hover,
    .streakModalClose:focus-visible {
      transform:translateY(-1px) scale(1.02);
      filter:saturate(1.08);
      box-shadow:0 14px 26px rgba(8,0,29,.34), inset 0 1px 0 rgba(255,255,255,.30);
      outline:none;
    }
    .streakModalHero {
      display:block; padding:15px; border-radius:24px;
      background:linear-gradient(135deg,rgba(255,232,110,.20),rgba(120,232,255,.08) 48%,rgba(255,255,255,.05));
      border:1px solid rgba(255,232,110,.24);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
    }
    .streakHeroPanel {
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:14px;
      min-height:104px;
    }
    .streakModalHeroFlame {
      flex:0 0 68px; width:68px; height:68px; display:grid; place-items:center; border-radius:22px;
      background:radial-gradient(circle at 30% 22%, rgba(255,255,255,.72), transparent 35%), linear-gradient(160deg,#fff17d 0%, #ffbd2e 45%, #ff7638 100%);
      box-shadow:0 7px 0 rgba(185,90,0,.48), 0 16px 28px rgba(255,145,48,.18), inset 0 1px 0 rgba(255,255,255,.48);
    }
    .streakModalHeroFlame .streakFlameGlyph { font-size:1.9rem; }
    .streakHeroCopy { min-width:0; display:flex; flex-direction:column; gap:6px; }
    .streakHeroBurst {
      align-self:stretch;
      min-width:110px;
      display:flex;
      align-items:flex-end;
      justify-content:center;
      position:relative;
      overflow:hidden;
    }
    .streakHeroBurst::before,
    .streakHeroBurst::after {
      content:"";
      position:absolute;
      border-radius:999px;
      filter:blur(2px);
      opacity:.86;
    }
    .streakHeroBurst::before {
      inset:10px 18px 4px 18px;
      background:radial-gradient(circle at 50% 80%, rgba(255,249,184,.78), transparent 26%), radial-gradient(circle at 55% 40%, rgba(255,176,49,.28), transparent 56%);
    }
    .streakHeroBurst::after {
      width:14px;
      height:14px;
      right:22px;
      top:18px;
      background:rgba(255,210,109,.92);
      box-shadow:-34px 22px 0 0 rgba(255,172,58,.86), -58px 42px 0 -2px rgba(255,233,157,.82), -18px 56px 0 -1px rgba(255,191,83,.74);
    }
    .streakHeroBurstGlyph {
      font-size:4.7rem;
      line-height:.8;
      filter:drop-shadow(0 18px 34px rgba(255,112,27,.24));
      transform:translateY(8px);
    }
    .streakModalEyebrow { font-size:.74rem; font-weight:1000; letter-spacing:.08em; text-transform:uppercase; color:#78e8ff; }
    .streakModalTitle { margin:3px 0 5px; font-size:clamp(1.4rem, 2.6vw, 1.92rem); line-height:1.02; font-weight:1000; color:#fff8d7; text-shadow:0 2px 0 rgba(44,12,0,.28); }
    .streakModalText { margin:0; color:#f4e8ff; font-size:.92rem; font-weight:800; line-height:1.3; }
    .streakInfoGrid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-top:16px; }
    .streakInfoCard,
    .streakObjectiveCard,
    .streakTierCard,
    .streakStatCard,
    .streakFooterNote { border-radius:22px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.13); box-shadow:0 12px 24px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.08); }
    .streakInfoCard { padding:15px; display:flex; flex-direction:column; gap:7px; }
    .streakInfoLabel { font-size:.7rem; font-weight:1000; letter-spacing:.08em; text-transform:uppercase; color:#78e8ff; }
    .streakInfoValue { display:flex; align-items:center; gap:8px; font-size:1.18rem; line-height:1.12; font-weight:1000; color:#fff8d7; }
    .streakInfoText { color:#f4e8ff; font-size:.84rem; line-height:1.35; font-weight:800; }
    .streakRankChip { display:inline-flex; align-items:center; gap:8px; min-height:32px; border-radius:999px; padding:7px 11px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16); }
    .streakRankDot { width:10px; height:10px; border-radius:999px; flex:0 0 auto; }
    .streakObjectiveCard { margin-top:12px; padding:15px; background:linear-gradient(135deg,rgba(255,232,110,.18),rgba(255,255,255,.07)); }
    .streakObjectiveHead { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
    .streakObjectiveTitle { margin:4px 0 0; font-size:1.08rem; line-height:1.12; font-weight:1000; color:#fff8d7; }
    .streakObjectiveBadge,
    .streakObjectivePill { display:inline-flex; align-items:center; min-height:32px; border-radius:999px; padding:7px 11px; font-size:.74rem; font-weight:1000; }
    .streakObjectiveBadge { color:#5b3900; background:linear-gradient(180deg,#ffe86e,#f6b21b); box-shadow:0 3px 0 rgba(185,124,0,.55); }
    .streakObjectiveText { margin:10px 0 0; color:#fff; font-weight:900; line-height:1.38; }
    .streakObjectiveMeta { margin-top:10px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .streakObjectivePill { color:#06245c; background:linear-gradient(180deg,#80eaff,#1c9cf7); }
    .streakObjectivePill--secured { color:#063a18; background:linear-gradient(180deg,#8cfca2,#34d65f); }
    .streakObjectivePill--lost { color:#fff; background:linear-gradient(180deg,#ff7a90,#e11d48); }
    .streakObjectivePill--fresh { color:#5b3900; background:linear-gradient(180deg,#ffe86e,#f6b21b); }
    .streakObjectiveNote { color:#f4e8ff; font-size:.82rem; line-height:1.35; font-weight:800; }
    .streakObjectiveCard--compact { display:flex; flex-direction:column; gap:12px; }
    .streakObjectiveProgress {
      margin-top:4px;
      display:grid;
      gap:8px;
    }
    .streakObjectiveProgressHead {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      flex-wrap:wrap;
      color:#f7efff;
      font-weight:900;
    }
    .streakObjectiveProgressHead strong { font-size:.98rem; color:#fff8d7; }
    .streakObjectiveProgressHead span { font-size:.78rem; color:#d8c6ff; }
    .streakObjectiveBar,
    .streakTierBar {
      position:relative;
      height:12px;
      border-radius:999px;
      overflow:hidden;
      background:rgba(26,8,71,.72);
      border:1px solid rgba(173,134,255,.18);
      box-shadow:inset 0 2px 8px rgba(0,0,0,.22);
    }
    .streakObjectiveBar span,
    .streakTierBar span {
      position:absolute;
      inset:1px auto 1px 1px;
      width:0;
      border-radius:inherit;
      background:linear-gradient(90deg,#b94bff 0%, #d870ff 38%, #ffdb69 100%);
      box-shadow:0 0 14px rgba(207,112,255,.28);
    }
    .streakStatGrid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      margin-top:12px;
    }
    .streakStatCard {
      padding:13px;
      display:flex;
      align-items:center;
      gap:12px;
      min-height:92px;
      background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
    }
    .streakStatIcon {
      width:56px;
      height:56px;
      flex:0 0 56px;
      display:grid;
      place-items:center;
      border-radius:999px;
      font-size:1.45rem;
      color:#f8dbff;
      background:linear-gradient(180deg,rgba(179,101,255,.34),rgba(92,42,212,.24));
      border:1px solid rgba(192,135,255,.32);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
    }
    .streakStatIcon--record {
      color:#ffd86f;
      background:linear-gradient(180deg,rgba(255,183,77,.34),rgba(107,62,16,.24));
      border-color:rgba(255,214,118,.34);
    }
    .streakStatBody {
      min-width:0;
      display:grid;
      gap:4px;
    }
    .streakStatBody strong {
      color:#fff8d7;
      font-size:1.2rem;
      line-height:1;
      font-weight:1000;
    }
    .streakStatKicker {
      font-size:.74rem;
      text-transform:uppercase;
      letter-spacing:.06em;
      color:#c98fff;
      font-weight:1000;
    }
    .streakStatNote {
      margin:0;
      color:#f4e8ff;
      font-size:.82rem;
      line-height:1.28;
      font-weight:800;
    }
    .streakTierPanel { margin-top:12px; display:grid; grid-template-columns:1fr; gap:10px; }
    .streakTierColumn { min-width:0; }
    .streakTierTitle { margin:0 0 6px; font-size:.78rem; font-weight:1000; letter-spacing:.05em; text-transform:uppercase; color:#78e8ff; }
    .streakTierList { display:grid; gap:8px; }
    .streakTierCard {
      padding:13px;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:12px;
    }
    .streakTierCard.is-next { border-color:rgba(255,232,110,.46); background:linear-gradient(180deg,rgba(255,232,110,.16),rgba(255,255,255,.08)); }
    .streakTierIcon {
      width:56px;
      height:56px;
      flex:0 0 56px;
      display:grid;
      place-items:center;
      border-radius:18px;
      font-size:1.55rem;
      color:#f6dbff;
      background:linear-gradient(180deg,rgba(131,74,255,.34),rgba(55,22,133,.26));
      border:1px solid rgba(181,126,255,.34);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.24);
    }
    .streakTierCard.is-next .streakTierIcon {
      color:#fff2ac;
      background:linear-gradient(180deg,rgba(255,192,72,.34),rgba(161,74,19,.26));
      border-color:rgba(255,214,118,.34);
    }
    .streakTierBody {
      min-width:0;
      display:grid;
      gap:6px;
    }
    .streakTierTop {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
      color:#fff8d7;
      font-weight:1000;
    }
    .streakTierTop strong { display:inline-flex; align-items:center; gap:8px; font-size:1rem; }
    .streakTierTop span { color:#c98fff; font-size:.76rem; font-weight:1000; text-transform:uppercase; letter-spacing:.05em; }
    .streakTierBody p { margin:0; color:#f4e8ff; font-size:.8rem; line-height:1.28; font-weight:800; }
    .streakTierRewardBadge {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:max-content;
      max-width:100%;
      min-height:30px;
      border-radius:999px;
      padding:6px 10px;
      color:#5b3900;
      background:linear-gradient(180deg,#ffe86e,#f6b21b);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.42), 0 4px 0 rgba(185,124,0,.58);
      font-size:.76rem;
      font-weight:1000;
    }
    .streakTierProgress {
      display:grid;
      gap:6px;
    }
    .streakTierProgressHead {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      color:#d8c6ff;
      font-size:.8rem;
      font-weight:900;
    }
    .streakTierProgressHead strong {
      color:#fff8d7;
      font-size:.86rem;
    }
    .streakTierArrow {
      font-size:1.8rem;
      line-height:1;
      color:#b36cff;
      opacity:.86;
    }
    .streakFooterNote {
      margin-top:10px;
      padding:12px 14px;
      display:flex;
      align-items:center;
      gap:10px;
      color:#e9dcff;
      font-size:.82rem;
      line-height:1.32;
      font-weight:900;
    }
    .streakFooterIcon {
      width:34px;
      height:34px;
      flex:0 0 34px;
      display:grid;
      place-items:center;
      border-radius:12px;
      color:#fff8d7;
      background:linear-gradient(180deg,rgba(124,75,255,.48),rgba(70,30,178,.28));
      border:1px solid rgba(174,140,255,.30);
    }
    .streakLaunchFlame,
    .miniStreakIcon,
    .streakModalHeroFlame,
    .streakCelebrateFlame {
      overflow:hidden;
      background:transparent;
      box-shadow:none;
    }
    .streakFlameGlyph {
      width:100%;
      height:100%;
      display:block;
      object-fit:contain;
      filter:drop-shadow(0 12px 18px rgba(255,141,30,.22));
    }
    .miniStreakIcon {
      border-radius:999px;
    }
    .miniStreakIcon .streakFlameGlyph {
      filter:drop-shadow(0 6px 10px rgba(255,141,30,.18));
    }
    .streakModal,
    .streakCelebrateModal {
      position:fixed;
      inset:0;
      display:block;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .22s ease, visibility .22s ease;
    }
    .streakModal { z-index:65; }
    .streakCelebrateModal { z-index:67; }
    .streakModal.open,
    .streakCelebrateModal.open {
      opacity:1;
      visibility:visible;
      pointer-events:auto;
    }
    .streakModalBackdrop,
    .streakCelebrateBackdrop {
      position:absolute;
      inset:0;
      backdrop-filter:blur(12px);
    }
    .streakModalBackdrop {
      background:linear-gradient(180deg,rgba(32,12,0,.18),rgba(16,10,0,.34));
    }
    .streakCelebrateBackdrop {
      background:rgba(10,16,24,.74);
    }
    .streakModalDialog {
      position:relative;
      z-index:1;
      width:min(560px, calc(100% - 24px));
      max-height:calc(100vh - 24px);
      overflow:auto;
      margin:12px auto;
      padding:18px;
      border-radius:34px;
      background:
        radial-gradient(circle at top, rgba(255,188,76,.54), transparent 42%),
        linear-gradient(180deg,#fff6dc 0%, #fff8ef 28%, #ffffff 100%);
      color:#24170b;
      box-shadow:0 32px 80px rgba(50,21,2,.22), inset 0 1px 0 rgba(255,255,255,.88);
      border:1px solid rgba(248,190,104,.38);
      display:grid;
      gap:14px;
    }
    .streakModalClose {
      position:absolute;
      top:14px;
      right:14px;
      width:44px;
      height:44px;
      border-radius:999px;
      border:1px solid rgba(241,199,135,.68);
      background:rgba(255,255,255,.9);
      color:#4d3211;
      box-shadow:0 12px 20px rgba(118,76,6,.12);
    }
    .streakModalHero {
      position:relative;
      display:grid;
      justify-items:center;
      gap:8px;
      padding:22px 18px 8px;
      text-align:center;
      border-radius:30px 30px 24px 24px;
      overflow:hidden;
      background:
        radial-gradient(circle at 50% 0%, rgba(255,214,117,.9), transparent 48%),
        linear-gradient(180deg,#fff6c9 0%, #fff4d7 32%, rgba(255,255,255,.92) 82%);
      border:1px solid rgba(255,199,96,.26);
    }
    .streakModalAura {
      position:absolute;
      inset:auto -12% 14% -12%;
      height:140px;
      border-radius:50%;
      background:
        linear-gradient(180deg, rgba(255,198,48,.92), rgba(255,198,48,.88)),
        linear-gradient(180deg, rgba(255,221,126,.42), rgba(255,255,255,0));
      opacity:.26;
      filter:blur(2px);
      pointer-events:none;
    }
    .streakModalHeroFlame {
      position:relative;
      width:132px;
      height:132px;
      z-index:1;
      animation:streakFlameFloat 3.6s ease-in-out infinite;
    }
    .streakModalEyebrow {
      color:#9b5e10;
      font-size:.8rem;
      font-weight:1000;
      letter-spacing:.08em;
    }
    .streakModalTitle {
      margin:0;
      font-size:clamp(3.2rem, 10vw, 4.5rem);
      line-height:.92;
      color:#ff7c11;
      text-shadow:none;
    }
    .streakModalCountLabel {
      margin:0;
      font-size:1.28rem;
      font-weight:1000;
      color:#ff8d1a;
    }
    .streakModalText {
      margin:0;
      max-width:34ch;
      color:#7d5a2d;
      font-size:.94rem;
      font-weight:900;
      line-height:1.35;
    }
    .streakWeekCard,
    .streakObjectiveCard,
    .streakStatCard,
    .streakTierCard,
    .streakFooterNote {
      background:#fffef9;
      border:1px solid rgba(247,196,128,.62);
      box-shadow:0 14px 28px rgba(255,178,52,.10);
    }
    .streakWeekCard,
    .streakObjectiveCard {
      padding:16px;
      border-radius:24px;
    }
    .streakSectionHead,
    .streakObjectiveHead {
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    .streakSectionHead h3,
    .streakObjectiveTitle {
      margin:4px 0 0;
      color:#24170b;
      font-size:1.12rem;
      line-height:1.08;
      font-weight:1000;
    }
    .streakSectionEyebrow,
    .streakInfoLabel,
    .streakTierTitle {
      color:#a66717;
      font-size:.74rem;
      font-weight:1000;
      letter-spacing:.06em;
      text-transform:uppercase;
    }
    .streakObjectiveBadge,
    .streakObjectivePill {
      min-height:30px;
      padding:6px 11px;
      border-radius:999px;
      font-size:.72rem;
      font-weight:1000;
    }
    .streakObjectiveBadge {
      color:#7b4400;
      background:linear-gradient(180deg,#ffd872,#ffb845);
      box-shadow:0 4px 0 rgba(216,138,22,.22);
    }
    .streakObjectivePill {
      color:#7b4400;
      background:linear-gradient(180deg,#fff1b6,#ffd66b);
      box-shadow:none;
    }
    .streakObjectivePill--active {
      color:#0c5b8d;
      background:linear-gradient(180deg,#dff6ff,#8fd8ff);
    }
    .streakObjectivePill--secured {
      color:#126133;
      background:linear-gradient(180deg,#e5ffea,#9de7af);
    }
    .streakObjectivePill--lost {
      color:#84213d;
      background:linear-gradient(180deg,#ffd6df,#ff96ac);
    }
    .streakWeekRow {
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(7, minmax(0, 1fr));
      gap:8px;
    }
    .streakWeekDay {
      display:grid;
      justify-items:center;
      gap:8px;
      padding:10px 4px;
      border-radius:18px;
      background:linear-gradient(180deg,#fffdfa,#fff4e8);
      border:1px solid rgba(243,226,203,.94);
      transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
    .streakWeekDay.is-on {
      background:linear-gradient(180deg,#fff4d8,#ffe6ba);
      border-color:rgba(255,185,74,.82);
      box-shadow:0 12px 18px rgba(255,177,47,.12);
    }
    .streakWeekDay.is-current {
      transform:translateY(-2px);
      box-shadow:0 18px 28px rgba(255,160,28,.18);
    }
    .streakWeekLabel {
      color:#b57b34;
      font-size:.7rem;
      font-weight:1000;
    }
    .streakWeekBadge {
      width:38px;
      height:38px;
      display:grid;
      place-items:center;
      border-radius:999px;
      background:#f1efe8;
      color:#c9b9a1;
      font-size:1rem;
      font-weight:1000;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
    }
    .streakWeekDay.is-on .streakWeekBadge {
      background:linear-gradient(180deg,#ffb651,#ff8b24);
      color:#fff;
      box-shadow:0 8px 18px rgba(255,147,33,.24), inset 0 1px 0 rgba(255,240,221,.84);
    }
    .streakWeekHint {
      margin:12px 0 0;
      color:#80603a;
      font-size:.84rem;
      font-weight:900;
      line-height:1.32;
    }
    .streakObjectiveCard {
      margin-top:0;
      background:#fffef9;
    }
    .streakObjectiveMeta {
      display:none;
    }
    .streakObjectiveNote {
      margin:10px 0 0;
      color:#6f5532;
      font-size:.86rem;
      font-weight:900;
      line-height:1.34;
    }
    .streakObjectiveProgress {
      margin-top:14px;
      display:grid;
      gap:8px;
    }
    .streakObjectiveProgressHead {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .streakObjectiveProgressHead strong {
      color:#24170b;
      font-size:.98rem;
    }
    .streakObjectiveProgressHead span {
      color:#8d6b41;
      font-size:.78rem;
      font-weight:900;
    }
    .streakObjectiveBar {
      height:12px;
      border-radius:999px;
      overflow:hidden;
      background:#f7ebdb;
      border:1px solid rgba(242,210,157,.74);
      box-shadow:none;
    }
    .streakObjectiveBar span {
      inset:1px auto 1px 1px;
      background:linear-gradient(90deg,#ffb13b 0%, #ff8d1d 54%, #ff5f3c 100%);
      box-shadow:none;
    }
    .streakChallengeMarkers {
      position:relative;
      height:28px;
      margin-top:10px;
    }
    .streakChallengeMarker {
      position:absolute;
      top:0;
      transform:translateX(-50%);
      display:grid;
      justify-items:center;
      gap:5px;
      color:#b07b39;
      font-size:.68rem;
      font-weight:1000;
    }
    .streakChallengeMarker::before {
      content:"";
      width:12px;
      height:12px;
      border-radius:999px;
      background:#f3dfc1;
      border:2px solid #fff;
      box-shadow:0 2px 8px rgba(152,102,34,.12);
    }
    .streakChallengeMarker.is-reached::before,
    .streakChallengeMarker.is-next::before {
      background:linear-gradient(180deg,#ffbd57,#ff9124);
    }
    .streakStatGrid {
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      margin-top:0;
    }
    .streakStatCard {
      min-height:0;
      padding:14px 15px;
      gap:8px;
      border-radius:22px;
      background:#fffef9;
      display:grid;
      align-content:start;
    }
    .streakStatIcon {
      display:none;
    }
    .streakStatBody {
      display:grid;
      gap:6px;
    }
    .streakStatBody strong {
      color:#24170b;
      font-size:1.2rem;
    }
    .streakStatKicker {
      color:#ac6a18;
      font-size:.72rem;
      letter-spacing:.06em;
    }
    .streakStatNote {
      color:#7b5d38;
      font-size:.82rem;
      line-height:1.3;
    }
    .streakTierPanel {
      margin-top:0;
      display:grid;
      gap:10px;
    }
    .streakTierList {
      display:grid;
      gap:10px;
    }
    .streakTierCard {
      padding:14px;
      border-radius:22px;
      grid-template-columns:auto minmax(0, 1fr);
      gap:12px;
    }
    .streakTierCard.is-next {
      background:linear-gradient(180deg,#fff8e8,#fff2d8);
      border-color:rgba(255,190,84,.72);
    }
    .streakTierIcon {
      width:46px;
      height:46px;
      flex-basis:46px;
      border-radius:14px;
      color:#ff8d1a;
      background:linear-gradient(180deg,#fff0bd,#ffd36d);
      border:1px solid rgba(255,197,95,.62);
      box-shadow:none;
    }
    .streakTierTop strong {
      color:#24170b;
      font-size:1rem;
    }
    .streakTierTop span {
      color:#a9691c;
      font-size:.72rem;
    }
    .streakTierBody p {
      color:#7d5f38;
      font-size:.8rem;
      line-height:1.3;
    }
    .streakTierRewardBadge {
      color:#7b4400;
      background:linear-gradient(180deg,#ffe292,#ffc14b);
      box-shadow:none;
    }
    .streakTierProgress,
    .streakTierArrow {
      display:none;
    }
    .streakFooterNote {
      margin-top:0;
      padding:12px 14px;
      border-radius:20px;
      background:#fff7eb;
      color:#7d5c34;
    }
    .streakFooterIcon {
      color:#fff;
      background:linear-gradient(180deg,#ffb84f,#ff8d1f);
      border-color:rgba(255,184,79,.72);
    }
    .streakCelebrateDialog {
      position:relative;
      z-index:1;
      width:min(480px, calc(100% - 24px));
      margin:22px auto 0;
      padding:18px;
      border-radius:34px;
      background:
        radial-gradient(circle at top, rgba(255,167,34,.2), transparent 34%),
        linear-gradient(180deg,#111824 0%, #171f2b 100%);
      color:#fff;
      box-shadow:0 40px 80px rgba(0,0,0,.34);
      border:1px solid rgba(255,191,96,.14);
      display:grid;
      gap:16px;
    }
    .streakCelebrateTopline {
      display:flex;
      justify-content:flex-end;
    }
    .streakCelebrateChip {
      display:inline-flex;
      align-items:center;
      gap:10px;
      min-height:44px;
      padding:6px 12px 6px 8px;
      border-radius:999px;
      background:rgba(255,166,32,.12);
      border:1px solid rgba(255,189,88,.18);
      color:#ffc661;
      font-weight:1000;
    }
    .streakCelebrateChip img {
      width:30px;
      height:30px;
    }
    .streakCelebrateStage {
      display:grid;
      justify-items:center;
      gap:18px;
      padding-top:4px;
    }
    .streakCelebrateFlame {
      width:min(220px, 52vw);
      height:min(220px, 52vw);
      animation:streakFlameFloat 3s ease-in-out infinite;
    }
    .streakCelebrateWeekRow {
      width:100%;
      display:grid;
      grid-template-columns:repeat(7, minmax(0, 1fr));
      gap:8px;
    }
    .streakCelebrateDay {
      display:grid;
      justify-items:center;
      gap:6px;
      padding:8px 4px;
      border-radius:18px;
      color:#708090;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.06);
    }
    .streakCelebrateDay span {
      font-size:.68rem;
      font-weight:1000;
      letter-spacing:.04em;
    }
    .streakCelebrateDay strong {
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      color:#dbe4ee;
      font-size:.88rem;
      font-weight:1000;
    }
    .streakCelebrateDay.is-on strong {
      background:linear-gradient(180deg,#ffbf52,#ff9128);
      color:#fff;
      box-shadow:0 10px 18px rgba(255,145,40,.24);
    }
    .streakCelebrateDay.is-current strong {
      animation:streakDayPulse .72s ease;
    }
    .streakCelebrateBody {
      display:grid;
      gap:6px;
      text-align:center;
    }
    .streakCelebrateEyebrow {
      color:#ffcb77;
      font-size:.74rem;
      font-weight:1000;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .streakCelebrateCount {
      margin:0;
      font-size:clamp(3.4rem, 11vw, 4.8rem);
      line-height:.9;
      font-weight:1000;
      color:#fff;
    }
    .streakCelebrateCaption {
      margin:0;
      color:#ffb54f;
      font-size:1.2rem;
      font-weight:1000;
    }
    .streakCelebrateTitle {
      margin:8px 0 0;
      font-size:1.8rem;
      line-height:1.05;
      font-weight:1000;
    }
    .streakCelebrateText {
      margin:0;
      color:#d3dde8;
      font-size:.98rem;
      line-height:1.4;
      font-weight:900;
    }
    .streakCelebrateButton {
      width:100%;
      min-height:58px;
      border:0;
      border-radius:18px;
      cursor:pointer;
      color:#12344f;
      font-size:1rem;
      font-weight:1000;
      background:linear-gradient(180deg,#72d7ff 0%, #3eb8ff 100%);
      box-shadow:0 8px 0 rgba(21,103,150,.52), 0 16px 22px rgba(15,75,110,.26);
      transition:transform .16s ease, filter .16s ease;
    }
    .streakCelebrateButton:hover,
    .streakCelebrateButton:focus-visible {
      transform:translateY(-1px);
      filter:saturate(1.04);
      outline:none;
    }
    @keyframes streakFlameFloat {
      0%, 100% { transform:translateY(0); }
      50% { transform:translateY(-7px); }
    }
    @keyframes streakDayPulse {
      0% { transform:scale(.8); }
      70% { transform:scale(1.08); }
      100% { transform:scale(1); }
    }
    .fanPickRewardModal {
      --fan-pick-reward-bg1:var(--bg1, #5d1ec9);
      --fan-pick-reward-bg2:var(--bg2, #2f0872);
      --fan-pick-reward-bg3:var(--bg3, #160232);
      --fan-pick-reward-yellow:var(--yellow, #ffd93d);
      --fan-pick-reward-pink:var(--pink, #ff4fd8);
      --fan-pick-reward-cyan:var(--cyan, #56d8ff);
      --fan-pick-reward-mobile-gap:6px;
      position:fixed;
      inset:0;
      z-index:66;
      display:block;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .24s ease,visibility .24s ease;
    }
    .fanPickRewardModal.open {
      opacity:1;
      visibility:visible;
      pointer-events:auto;
    }
    .fanPickRewardModalBackdrop {
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 14% 12%, rgba(255,79,216,.24), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(86,216,255,.20), transparent 30%),
        radial-gradient(circle at 50% 100%, rgba(255,217,61,.16), transparent 34%),
        linear-gradient(180deg, rgba(47,8,114,.34), rgba(22,2,50,.78));
      backdrop-filter:blur(10px) saturate(130%);
      -webkit-backdrop-filter:blur(10px) saturate(130%);
      opacity:0;
      transition:opacity .24s ease;
    }
    .fanPickRewardModal.open .fanPickRewardModalBackdrop { opacity:1; }
    .fanPickRewardModalDialog {
      position:relative;
      z-index:1;
      width:min(500px, calc(100% - 24px));
      margin:40px auto 0;
      padding:16px;
      border-radius:32px;
      background:
        radial-gradient(circle at 14% 10%, rgba(255,79,216,.28), transparent 34%),
        radial-gradient(circle at 88% 12%, rgba(86,216,255,.22), transparent 32%),
        radial-gradient(circle at 50% 115%, rgba(255,217,61,.16), transparent 36%),
        linear-gradient(180deg,var(--fan-pick-reward-bg1) 0%,var(--fan-pick-reward-bg2) 48%,var(--fan-pick-reward-bg3) 100%);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:var(--shadow-hard, 0 10px 0 rgba(34,6,73,.55), 0 20px 32px rgba(0,0,0,.22)), inset 0 1px 0 rgba(255,255,255,.16);
      color:#fff;
      display:grid;
      gap:12px;
      transform:translateY(26px) scale(.98);
      transition:transform .28s cubic-bezier(.22,1,.36,1);
    }
    .fanPickRewardModal.open .fanPickRewardModalDialog { transform:translateY(0) scale(1); }
    .fanPickRewardModalClose {
      position:absolute;
      top:14px;
      right:14px;
      width:38px;
      height:38px;
      border:0;
      border-radius:12px;
      background:rgba(255,255,255,.12);
      color:#fff7db;
      font-size:1rem;
      font-weight:1000;
      cursor:pointer;
      backdrop-filter:blur(10px);
    }
    .fanPickRewardModalHandle {
      justify-self:center;
      width:54px;
      height:5px;
      border-radius:999px;
      background:linear-gradient(90deg,var(--fan-pick-reward-pink),var(--fan-pick-reward-cyan),var(--fan-pick-reward-yellow));
      box-shadow:0 1px 0 rgba(255,255,255,.08);
    }
    .fanPickRewardModalHero {
      display:grid;
      gap:8px;
      padding:16px;
      padding-right:52px;
      border-radius:24px;
      background:
        radial-gradient(circle at 10% 18%, rgba(255,255,255,.22), transparent 30%),
        linear-gradient(135deg, rgba(255,79,216,.20), rgba(86,216,255,.10) 46%, rgba(255,217,61,.10));
      border:1px solid rgba(255,255,255,.18);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 12px 24px rgba(22,2,50,.18);
    }
    .fanPickRewardModalEyebrow {
      font-size:.68rem;
      font-weight:1000;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--fan-pick-reward-cyan);
      text-shadow:0 1px 0 rgba(22,2,50,.38);
    }
    .fanPickRewardPointsPill {
      justify-self:start;
      display:inline-flex;
      align-items:center;
      min-height:34px;
      padding:7px 13px;
      border-radius:999px;
      background:linear-gradient(180deg,#fff1a8 0%,#ffd65d 58%,#ffb62f 100%);
      color:#4c2f00;
      border:1px solid rgba(255,255,255,.62);
      box-shadow:0 8px 18px rgba(255,174,43,.24), inset 0 1px 0 rgba(255,255,255,.66);
      font-size:1rem;
      font-weight:1000;
      letter-spacing:.02em;
    }
    .fanPickRewardModalTitle {
      margin:0;
      font-size:clamp(1.42rem, 2.7vw, 2rem);
      line-height:1.02;
      font-weight:1000;
      color:#fff7db;
      max-width:13ch;
    }
    .fanPickRewardModalText {
      margin:0;
      font-size:.8rem;
      font-weight:850;
      letter-spacing:.02em;
      color:#f2ddff;
    }
    .fanPickRewardModalNote {
      margin:0;
      font-size:.73rem;
      font-weight:850;
      color:#fff2a8;
      line-height:1.22;
    }
    .fanPickRewardModalNote[hidden] { display:none; }
    .fanPickRewardDayList { display:grid; gap:10px; }
    .fanPickRewardDayCard {
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:center;
      gap:12px;
      padding:12px 14px;
      border-radius:20px;
      background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.06));
      border:1px solid rgba(255,255,255,.14);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 8px 18px rgba(22,2,50,.16);
    }
    .fanPickRewardDayCopy { display:grid; gap:4px; min-width:0; }
    .fanPickRewardDayTitle { font-size:.92rem; font-weight:1000; color:#fff; }
    .fanPickRewardDayText {
      font-size:.72rem;
      font-weight:900;
      letter-spacing:.02em;
      color:#eadfff;
    }
    .fanPickRewardDaySide {
      display:grid;
      justify-items:end;
      gap:6px;
      flex:0 0 auto;
    }
    .fanPickRewardDayPoints {
      font-size:1rem;
      font-weight:1000;
      color:#ffe76f;
      text-shadow:0 2px 0 rgba(92,39,0,.28);
      text-align:right;
    }
    .fanPickRewardDayBadge {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:62px;
      min-height:28px;
      padding:5px 10px;
      border-radius:999px;
      background:rgba(86,216,255,.13);
      border:1px solid rgba(86,216,255,.26);
      font-size:.64rem;
      font-weight:1000;
      text-transform:uppercase;
      color:#f5fbff;
    }
    .fanPickRewardDayBadge.is-full {
      background:linear-gradient(180deg,#fff7b8 0%,#ffdf52 58%,#ffb61d 100%);
      color:#543500;
      border-color:rgba(255,255,255,.72);
    }
    .fanPickRewardEmpty {
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.15);
      font-size:.78rem;
      font-weight:850;
      color:#f2ddff;
    }
    .fanPickRewardSlider { display:grid; gap:8px; }
    .fanPickRewardSlider[hidden] { display:none; }
    .fanPickRewardSliderHint {
      font-size:.64rem;
      font-weight:1000;
      letter-spacing:.14em;
      text-transform:uppercase;
      color:rgba(255,231,111,.92);
    }
    .fanPickRewardSliderTrack {
      position:relative;
      min-height:64px;
      border-radius:999px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.16);
      overflow:hidden;
      user-select:none;
      touch-action:none;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
      transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
    }
    .fanPickRewardSliderTrack.is-boosting {
      transform:scale(1.01);
      border-color:rgba(247,215,126,.68);
      box-shadow:0 0 0 3px rgba(247,215,126,.12),0 18px 28px rgba(6,10,18,.22);
    }
    .fanPickRewardSliderFill {
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:var(--fan-pick-reward-slider-fill, 0px);
      background:linear-gradient(90deg,#f7de7d 0%,#ffbb56 52%,#ff8b49 100%);
      background-size:180% 100%;
      opacity:.92;
      transition:width .18s ease;
    }
    .fanPickRewardSliderTrack.is-boosting .fanPickRewardSliderFill { animation:fanPickRewardSliderRush .6s linear infinite; }
    .fanPickRewardSliderThumb {
      position:absolute;
      left:6px;
      top:6px;
      width:52px;
      height:52px;
      border:0;
      border-radius:50%;
      background:linear-gradient(180deg,#fff5b8 0%,#ffd962 60%,#ffb53d 100%);
      box-shadow:0 7px 0 #c47a00,0 13px 18px rgba(6,10,18,.22),inset 0 2px 0 rgba(255,255,255,.74);
      cursor:grab;
      transform:translateX(var(--fan-pick-reward-slider-offset, 0px));
      transition:transform .18s ease;
      z-index:2;
    }
    .fanPickRewardSliderThumb::before {
      content:'>>';
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#7b4100;
      font-size:1rem;
      font-weight:1000;
      letter-spacing:.08em;
    }
    .fanPickRewardSliderThumb.is-busy::before { content:'OK'; }
    .fanPickRewardSliderThumb:active { cursor:grabbing; }
    .fanPickRewardSliderText {
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:0 68px;
      text-align:center;
      font-size:.8rem;
      font-weight:1000;
      color:#fdfaf2;
      pointer-events:none;
      z-index:1;
    }
    @keyframes fanPickRewardSliderRush {
      0% { background-position:0 0; }
      100% { background-position:180% 0; }
    }
    @media (max-width: 980px) { .sidebarStreakDock { display:none; } }
    @media (max-width: 720px) {
      .streakModalDialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); min-height:auto; margin:10px auto; padding:12px; border-radius:22px; }
      .streakModalClose { top:10px; right:10px; width:38px; height:38px; border-radius:14px; font-size:1.08rem; }
      .streakModalHero { padding:11px; border-radius:18px; }
      .streakHeroPanel { grid-template-columns:auto minmax(0,1fr); gap:10px; min-height:auto; }
      .streakHeroBurst { display:none; }
      .streakModalHeroFlame { width:50px; height:50px; flex-basis:50px; border-radius:16px; }
      .streakModalHeroFlame .streakFlameGlyph { font-size:1.4rem; }
      .streakModalEyebrow { font-size:.62rem; }
      .streakModalTitle { margin:2px 0 3px; font-size:1.32rem; }
      .streakModalText { font-size:.76rem; line-height:1.2; }
      .streakObjectiveCard { margin-top:10px; padding:11px; border-radius:18px; }
      .streakObjectiveHead { align-items:flex-start; flex-direction:column; }
      .streakObjectiveTitle { font-size:.92rem; }
      .streakObjectiveBadge,
      .streakObjectivePill { min-height:28px; padding:6px 9px; font-size:.68rem; }
      .streakObjectiveNote { font-size:.7rem; }
      .streakObjectiveProgressHead { gap:6px; }
      .streakStatGrid { grid-template-columns:1fr; gap:8px; }
      .streakStatCard { min-height:auto; padding:11px; gap:10px; }
      .streakStatIcon { width:48px; height:48px; flex-basis:48px; border-radius:16px; font-size:1.28rem; }
      .streakStatBody strong { font-size:1.05rem; }
      .streakStatNote { font-size:.74rem; }
      .streakTierPanel { grid-template-columns:1fr; margin-top:10px; }
      .streakTierCard { grid-template-columns:auto minmax(0,1fr); padding:11px; border-radius:15px; }
      .streakTierIcon { width:48px; height:48px; flex-basis:48px; border-radius:16px; font-size:1.34rem; }
      .fanPickRewardModalDialog {
        position:absolute;
        left:8px;
        right:8px;
        bottom:calc(var(--tabh, 88px) + var(--safe-bottom, env(safe-area-inset-bottom, 0px)) + var(--fan-pick-reward-mobile-gap));
        width:auto;
        max-height:calc(100dvh - var(--tabh, 88px) - var(--safe-bottom, env(safe-area-inset-bottom, 0px)) - 22px);
        margin:0 auto;
        padding:12px;
        border-radius:28px;
        overflow:auto;
        transform:translateY(calc(100% + var(--tabh, 88px)));
      }
      .fanPickRewardModal.open .fanPickRewardModalDialog { transform:translateY(0); }
      .fanPickRewardModalClose { top:14px; right:12px; }
      .fanPickRewardModalHero { padding:14px; padding-right:48px; border-radius:20px; }
      .fanPickRewardPointsPill { min-height:30px; padding:6px 11px; font-size:.88rem; }
      .fanPickRewardModalTitle { font-size:1.24rem; max-width:11ch; }
      .fanPickRewardModalText { font-size:.73rem; }
      .fanPickRewardModalNote { font-size:.72rem; }
      .fanPickRewardDayCard { padding:10px 12px; border-radius:16px; gap:10px; }
      .fanPickRewardDayPoints { font-size:.92rem; }
      .fanPickRewardDayBadge { min-width:54px; font-size:.6rem; }
      .fanPickRewardSliderTrack { min-height:60px; }
      .fanPickRewardSliderThumb { width:48px; height:48px; }
      .fanPickRewardSliderText { font-size:.76rem; padding:0 58px; }
      .streakTierTop strong { font-size:.9rem; }
      .streakTierBody p { font-size:.72rem; }
      .streakTierRewardBadge { min-height:28px; padding:5px 9px; font-size:.66rem; }
      .streakTierProgressHead strong { font-size:.8rem; }
      .streakTierArrow { display:none; }
      .streakFooterNote { padding:10px 11px; font-size:.74rem; border-radius:15px; }
      .streakFooterIcon { width:30px; height:30px; flex-basis:30px; border-radius:10px; }
      .streakModalDialog {
        width:calc(100% - 16px);
        margin:8px auto;
        padding:12px;
        border-radius:26px;
        gap:10px;
      }
      .streakModalHero {
        padding:16px 12px 6px;
        border-radius:24px 24px 20px 20px;
      }
      .streakModalHeroFlame {
        width:102px;
        height:102px;
      }
      .streakModalTitle {
        font-size:3rem;
        margin:0;
      }
      .streakModalCountLabel {
        font-size:1rem;
      }
      .streakWeekCard,
      .streakObjectiveCard {
        padding:12px;
        border-radius:18px;
      }
      .streakSectionHead,
      .streakObjectiveHead {
        flex-direction:column;
      }
      .streakWeekRow {
        gap:6px;
      }
      .streakWeekDay {
        padding:8px 3px;
        border-radius:14px;
        gap:6px;
      }
      .streakWeekBadge {
        width:32px;
        height:32px;
        font-size:.86rem;
      }
      .streakWeekHint {
        font-size:.76rem;
      }
      .streakStatGrid {
        grid-template-columns:1fr;
      }
      .streakStatCard {
        padding:12px;
        border-radius:18px;
      }
      .streakCelebrateDialog {
        width:calc(100% - 16px);
        margin:12px auto 0;
        padding:14px;
        border-radius:26px;
      }
      .streakCelebrateFlame {
        width:min(188px, 58vw);
        height:min(188px, 58vw);
      }
      .streakCelebrateWeekRow {
        gap:6px;
      }
      .streakCelebrateDay {
        padding:7px 2px;
        border-radius:14px;
      }
      .streakCelebrateDay strong {
        width:30px;
        height:30px;
        font-size:.8rem;
      }
      .streakCelebrateTitle {
        font-size:1.46rem;
      }
      .streakCelebrateText {
        font-size:.88rem;
      }
      .streakCelebrateButton {
        min-height:52px;
        border-radius:16px;
      }
    }

    /* V10 invite responsive : tablette = capsule boutons seule ; mobile des 700px = meme capsule + logo sans sous-couche interne. */
    @media (min-width: 701px) and (max-width: 1100px) {
      .mobileTop--guest {
        background: transparent !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
      }
      .mobileTopInner--guest {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 14px !important;
        width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
      }
      .mobileTopInner--guest .mobileBrandBadge {
        grid-column: 1 !important;
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
      }
      .mobileTopInner--guest .topActions--mobile {
        grid-column: 2 !important;
        justify-self: end !important;
        width: auto !important;
        max-width: 100% !important;
        margin-left: auto !important;
        padding: 8px 8px 10px !important;
        border-radius: 24px !important;
        background: linear-gradient(180deg, rgba(105, 40, 205, .92), rgba(58, 16, 136, .94)) !important;
        border: 1px solid rgba(255, 255, 255, .16) !important;
        box-shadow: 0 9px 22px rgba(8, 2, 34, .24), inset 0 1px 0 rgba(255, 255, 255, .16) !important;
        backdrop-filter: blur(14px) !important;
      }
      .mobileTopInner--guest .mobileGuestActions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        width: auto !important;
        margin-left: auto !important;
        flex-wrap: nowrap !important;
      }
    }

    @media (max-width: 700px) {
      .mobileTop--guest {
        background: transparent !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
      }
      .mobileTop {
        padding-top:calc(8px + env(safe-area-inset-top, 0px)) !important;
      }
      .mobileTopInner--guest {
        display: flex !important;
        grid-template-columns: none !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 8px !important;
        border-radius: 24px !important;
        background: linear-gradient(180deg, rgba(105, 40, 205, .92), rgba(58, 16, 136, .94)) !important;
        border: 1px solid rgba(255, 255, 255, .16) !important;
        box-shadow: 0 9px 22px rgba(8, 2, 34, .24), inset 0 1px 0 rgba(255, 255, 255, .16) !important;
        backdrop-filter: blur(14px) !important;
      }
      .mobileTopInner--guest .mobileBrandBadge {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px !important;
      }
      .mobileTopInner--guest .topActions--mobile {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        position: static !important;
        isolation: auto !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        margin-left: auto !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
      }
      .mobileTopInner--guest .topActions--mobile::before,
      .mobileTopInner--guest .topActions--mobile::after {
        content: none !important;
        display: none !important;
      }
      .mobileTopInner--guest .mobileGuestActions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 7px !important;
        width: auto !important;
        max-width: 100% !important;
        margin-left: auto !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        flex-wrap: nowrap !important;
      }
      .mobileTopInner--guest .mobileGuestActions .btn3d,
      .mobileTopInner--guest .mobileGuestActions .btnGhost {
        min-height: 38px !important;
        padding: 9px 9px !important;
        border-radius: 14px !important;
        font-size: clamp(10px, 3vw, 12px) !important;
        white-space: nowrap !important;
      }
    }

    @media (max-width: 380px) {
      .mobileTopInner--guest {
        gap: 7px !important;
        padding: 7px !important;
        border-radius: 22px !important;
      }
      .mobileTopInner--guest .mobileBrandBadge {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
      }
      .mobileTopInner--guest .mobileGuestActions {
        gap: 5px !important;
      }
      .mobileTopInner--guest .mobileGuestActions .btn3d,
      .mobileTopInner--guest .mobileGuestActions .btnGhost {
        min-height: 35px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 10px !important;
      }
    }


    /* SPIDWIN streak refresh: validation popup + streak detail modal aligned with the site theme. */
    body.streak-modal-open,
    body.streak-celebration-open {
      overflow:hidden;
    }
    .streakModal,
    .streakCelebrateModal {
      --streak-purple-1: var(--bg1, #5d1ec9);
      --streak-purple-2: var(--bg2, #2f0872);
      --streak-purple-3: var(--bg3, #160232);
      --streak-yellow: var(--yellow, #ffd93d);
      --streak-pink: var(--pink, #ff4fd8);
      --streak-cyan: var(--cyan, #56d8ff);
      --streak-green: var(--green, #57ef75);
      --streak-red: var(--red, #ff6179);
      --streak-card: rgba(255,255,255,.095);
      --streak-card-strong: rgba(255,255,255,.135);
    }
    .streakModalBackdrop,
    .streakCelebrateBackdrop {
      background:
        radial-gradient(circle at 16% 12%, rgba(255,79,216,.30), transparent 30%),
        radial-gradient(circle at 86% 16%, rgba(86,216,255,.24), transparent 32%),
        radial-gradient(circle at 50% 98%, rgba(255,217,61,.18), transparent 34%),
        linear-gradient(180deg, rgba(47,8,114,.44), rgba(22,2,50,.86)) !important;
      backdrop-filter:blur(12px) saturate(138%) !important;
      -webkit-backdrop-filter:blur(12px) saturate(138%) !important;
    }
    .streakCelebrateBackdrop {
      opacity:0;
      transition:opacity .30s ease;
    }
    .streakModalDialog,
    .streakCelebrateDialog {
      position:relative;
      overflow:hidden;
      color:#fffdf7 !important;
      background:
        radial-gradient(circle at 12% 8%, rgba(255,79,216,.28), transparent 31%),
        radial-gradient(circle at 90% 10%, rgba(86,216,255,.24), transparent 30%),
        radial-gradient(circle at 52% 116%, rgba(255,217,61,.18), transparent 34%),
        linear-gradient(180deg, var(--streak-purple-1) 0%, var(--streak-purple-2) 50%, var(--streak-purple-3) 100%) !important;
      border:3px solid rgba(255,255,255,.16) !important;
      box-shadow:var(--shadow-hard, 0 10px 0 rgba(34,6,73,.55), 0 20px 32px rgba(0,0,0,.22)), inset 0 1px 0 rgba(255,255,255,.18) !important;
    }
    .streakModalDialog {
      width:min(650px, calc(100% - 24px)) !important;
      max-height:calc(100dvh - 24px) !important;
      margin:12px auto !important;
      padding:16px !important;
      border-radius:32px !important;
      gap:12px !important;
      overflow-x:hidden !important;
      overflow-y:auto !important;
      transform:translateY(22px) scale(.985);
      transition:transform .26s cubic-bezier(.22,1,.36,1);
    }
    .streakModal.open .streakModalDialog {
      transform:translateY(0) scale(1);
    }
    .streakCelebrateDialog {
      width:min(480px, calc(100% - 24px)) !important;
      margin:28px auto 0 !important;
      padding:16px !important;
      border-radius:32px !important;
      gap:13px !important;
      overflow-x:hidden !important;
      overflow-y:auto !important;
      opacity:0;
      filter:blur(10px);
      transform:translateY(34px) scale(.94);
      transform-origin:50% 58%;
      will-change:transform, opacity, filter;
      transition:
        transform .42s cubic-bezier(.22,1,.36,1),
        opacity .28s ease,
        filter .28s ease;
    }
    .streakCelebrateStage,
    .streakCelebrateBody,
    .streakCelebrateActions {
      opacity:0;
      transform:translateY(12px);
      transition:transform .34s cubic-bezier(.22,1,.36,1), opacity .26s ease;
    }
    .streakModalDialog > *,
    .streakCelebrateDialog > *,
    .streakModalHero,
    .streakWeekCard,
    .streakObjectiveCard,
    .streakStatCard,
    .streakTierCard,
    .streakFooterNote,
    .streakCelebrateStage,
    .streakCelebrateBody,
    .streakCelebrateActions,
    .streakInfoGrid,
    .streakStatGrid,
    .streakTierPanel,
    .streakWeekTrack,
    .streakCelebrateWeekRow,
    .streakSectionHead,
    .streakObjectiveHead,
    .streakHeroPanel {
      min-width:0;
      max-width:100%;
      box-sizing:border-box;
    }
    .streakCelebrateBody {
      transition-delay:.04s;
    }
    .streakCelebrateActions {
      transition-delay:.08s;
    }
    .streakCelebrateModal.open .streakCelebrateBackdrop {
      opacity:1;
    }
    .streakCelebrateModal.open .streakCelebrateDialog {
      opacity:1;
      filter:none;
      transform:translateY(0) scale(1);
    }
    .streakCelebrateModal.open .streakCelebrateStage,
    .streakCelebrateModal.open .streakCelebrateBody,
    .streakCelebrateModal.open .streakCelebrateActions {
      opacity:1;
      transform:none;
    }
    .streakModalDialog::before,
    .streakCelebrateDialog::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      border-radius:inherit;
      background:
        radial-gradient(circle at 20% 12%, rgba(255,255,255,.20), transparent 22%),
        radial-gradient(circle at 84% 22%, rgba(255,255,255,.12), transparent 18%),
        linear-gradient(180deg, rgba(255,255,255,.10), transparent 34%);
      opacity:.95;
    }
    .streakModalDialog::after,
    .streakCelebrateDialog::after {
      content:"";
      position:absolute;
      width:210px;
      height:210px;
      right:-86px;
      top:-94px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(255,230,116,.78), rgba(255,179,0,.18) 44%, transparent 70%);
      pointer-events:none;
    }
    .streakModalDialog > *,
    .streakCelebrateDialog > * {
      position:relative;
      z-index:1;
    }
    .streakModalClose {
      top:14px !important;
      right:14px !important;
      width:42px !important;
      height:42px !important;
      border-radius:15px !important;
      border:2px solid rgba(255,255,255,.18) !important;
      color:#fff8d7 !important;
      background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.07)) !important;
      box-shadow:0 5px 0 rgba(31,6,66,.52), 0 14px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.18) !important;
      display:grid !important;
      place-items:center !important;
      font-size:1.24rem !important;
      font-weight:1000 !important;
      cursor:pointer !important;
      transition:transform .16s ease, filter .16s ease, box-shadow .16s ease !important;
    }
    .streakModalClose:hover,
    .streakModalClose:focus-visible {
      transform:translateY(-2px);
      filter:saturate(1.08);
      outline:none;
    }
    .streakModalHero {
      position:relative !important;
      display:grid !important;
      justify-items:center !important;
      gap:7px !important;
      padding:20px 56px 16px !important;
      text-align:center !important;
      border-radius:26px !important;
      background:
        radial-gradient(circle at 50% 0%, rgba(255,217,61,.36), transparent 48%),
        linear-gradient(135deg, rgba(255,79,216,.22), rgba(86,216,255,.12) 48%, rgba(255,217,61,.13)) !important;
      border:2px solid rgba(255,255,255,.14) !important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 14px 26px rgba(22,2,50,.22) !important;
      overflow:hidden !important;
    }
    .streakModalAura {
      inset:auto 8% 0 8% !important;
      height:120px !important;
      background:radial-gradient(circle, rgba(255,217,61,.72), rgba(255,79,216,.12) 46%, transparent 72%) !important;
      opacity:.38 !important;
      filter:blur(7px) !important;
    }
    .streakModalHeroFlame {
      width:112px !important;
      height:112px !important;
      border-radius:28px !important;
      filter:drop-shadow(0 18px 28px rgba(255,142,33,.24));
    }
    .streakModalEyebrow,
    .streakSectionEyebrow,
    .streakInfoLabel,
    .streakTierTitle,
    .streakStatKicker,
    .streakCelebrateEyebrow {
      color:var(--streak-cyan) !important;
      text-transform:uppercase !important;
      letter-spacing:.12em !important;
      font-weight:1000 !important;
      text-shadow:0 2px 0 rgba(22,2,50,.32);
    }
    .streakModalTitle,
    .streakCelebrateCount,
    .streakCelebrateTitle,
    .streakSectionHead h3,
    .streakObjectiveTitle,
    .streakTierTop strong,
    .streakStatBody strong {
      font-family:"Baloo 2", sans-serif !important;
      color:#fff8d7 !important;
      text-shadow:0 3px 0 rgba(70,8,100,.36) !important;
    }
    .streakModalTitle {
      margin:0 !important;
      font-size:clamp(3.7rem, 10vw, 5.4rem) !important;
      line-height:.82 !important;
      color:#fff8d7 !important;
    }
    .streakModalCountLabel {
      margin:0 !important;
      color:var(--streak-yellow) !important;
      font-size:1.12rem !important;
      font-weight:1000 !important;
      text-shadow:0 2px 0 rgba(92,39,0,.26);
    }
    .streakModalText,
    .streakWeekHint,
    .streakObjectiveNote,
    .streakStatNote,
    .streakTierBody p,
    .streakFooterNote,
    .streakCelebrateText {
      color:#f2ddff !important;
      font-weight:850 !important;
      line-height:1.34 !important;
    }
    .streakWeekCard,
    .streakObjectiveCard,
    .streakStatCard,
    .streakTierCard,
    .streakFooterNote {
      background:linear-gradient(180deg, var(--streak-card-strong), var(--streak-card)) !important;
      border:2px solid rgba(255,255,255,.13) !important;
      box-shadow:0 12px 24px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.10) !important;
      color:#fffdf7 !important;
    }
    .streakWeekCard,
    .streakObjectiveCard {
      padding:15px !important;
      border-radius:24px !important;
    }
    .streakSectionHead h3,
    .streakObjectiveTitle {
      margin:3px 0 0 !important;
      font-size:1.2rem !important;
      line-height:.98 !important;
    }
    .streakObjectiveBadge,
    .streakObjectivePill,
    .streakTierRewardBadge,
    .streakCelebrateChip {
      border-radius:999px !important;
      border:1px solid rgba(255,255,255,.24) !important;
      font-weight:1000 !important;
    }
    .streakObjectiveBadge,
    .streakTierRewardBadge {
      color:#5b3800 !important;
      background:linear-gradient(180deg,#ffe76f,#ffbc1f) !important;
      box-shadow:0 5px 0 #c88600, 0 13px 20px rgba(0,0,0,.18) !important;
    }
    .streakObjectivePill,
    .streakObjectivePill--fresh {
      color:#5b3800 !important;
      background:linear-gradient(180deg,#ffe76f,#ffbc1f) !important;
      box-shadow:0 4px 0 #c88600 !important;
    }
    .streakObjectivePill--active {
      color:#062d52 !important;
      background:linear-gradient(180deg,#76e7ff,#1496ff) !important;
      box-shadow:0 4px 0 #0b6fb2 !important;
    }
    .streakObjectivePill--secured {
      color:#073d18 !important;
      background:linear-gradient(180deg,#72f58b,#18c94f) !important;
      box-shadow:0 4px 0 #0c9b3b !important;
    }
    .streakObjectivePill--lost {
      color:#fff !important;
      background:linear-gradient(180deg,#ff7b91,#e11d48) !important;
      box-shadow:0 4px 0 #961333 !important;
    }
    .streakWeekRow {
      gap:8px !important;
    }
    .streakWeekDay,
    .streakCelebrateDay {
      background:rgba(255,255,255,.08) !important;
      border:1px solid rgba(255,255,255,.12) !important;
      color:#f2ddff !important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
    }
    .streakWeekDay.is-on,
    .streakCelebrateDay.is-on {
      background:linear-gradient(180deg, rgba(255,217,61,.25), rgba(255,79,216,.12)) !important;
      border-color:rgba(255,217,61,.34) !important;
      box-shadow:0 12px 18px rgba(255,188,31,.13), inset 0 1px 0 rgba(255,255,255,.16) !important;
    }
    .streakWeekLabel,
    .streakCelebrateDay span {
      color:#f8dbff !important;
    }
    .streakWeekBadge,
    .streakCelebrateDay strong {
      background:rgba(255,255,255,.12) !important;
      color:#fffdf7 !important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
    }
    .streakWeekDay.is-on .streakWeekBadge,
    .streakCelebrateDay.is-on strong {
      color:#5b3800 !important;
      background:linear-gradient(180deg,#ffe76f,#ffbc1f) !important;
      box-shadow:0 6px 0 #c88600, 0 12px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.42) !important;
    }
    .streakObjectiveProgressHead strong,
    .streakTierProgressHead strong {
      color:#fff8d7 !important;
      font-weight:1000 !important;
    }
    .streakObjectiveProgressHead span,
    .streakTierProgressHead,
    .streakTierProgressHead span {
      color:#e8d7ff !important;
      font-weight:850 !important;
    }
    .streakObjectiveBar,
    .streakTierBar {
      height:13px !important;
      background:rgba(22,2,50,.58) !important;
      border:1px solid rgba(255,255,255,.14) !important;
      box-shadow:inset 0 2px 8px rgba(0,0,0,.22) !important;
    }
    .streakObjectiveBar span,
    .streakTierBar span {
      background:linear-gradient(90deg,var(--streak-pink) 0%, var(--streak-cyan) 48%, var(--streak-yellow) 100%) !important;
      box-shadow:0 0 18px rgba(86,216,255,.30) !important;
    }
    .streakChallengeMarker {
      color:#ffe47f !important;
      text-shadow:0 2px 0 rgba(22,2,50,.36);
    }
    .streakChallengeMarker::before {
      background:rgba(255,255,255,.16) !important;
      border-color:rgba(255,255,255,.55) !important;
    }
    .streakChallengeMarker.is-reached::before,
    .streakChallengeMarker.is-next::before {
      background:linear-gradient(180deg,#ffe76f,#ffbc1f) !important;
      box-shadow:0 5px 0 #c88600 !important;
    }
    .streakStatGrid {
      gap:10px !important;
    }
    .streakStatCard {
      display:grid !important;
      grid-template-columns:auto minmax(0,1fr) !important;
      align-items:center !important;
      min-height:86px !important;
      padding:13px !important;
      border-radius:22px !important;
    }
    .streakStatIcon {
      display:grid !important;
      width:46px !important;
      height:46px !important;
      flex-basis:46px !important;
      border-radius:16px !important;
      color:#5b3800 !important;
      background:linear-gradient(180deg,#ffe76f,#ffbc1f) !important;
      border-color:rgba(255,255,255,.28) !important;
      box-shadow:0 5px 0 #c88600, inset 0 1px 0 rgba(255,255,255,.38) !important;
    }
    .streakStatIcon--record {
      color:#062d52 !important;
      background:linear-gradient(180deg,#76e7ff,#1496ff) !important;
      box-shadow:0 5px 0 #0b6fb2, inset 0 1px 0 rgba(255,255,255,.38) !important;
    }
    .streakTierTitle {
      margin:0 0 8px !important;
    }
    .streakTierCard {
      border-radius:22px !important;
      grid-template-columns:auto minmax(0,1fr) auto !important;
    }
    .streakTierCard.is-next {
      background:linear-gradient(135deg, rgba(255,217,61,.18), rgba(255,255,255,.09)) !important;
      border-color:rgba(255,217,61,.30) !important;
    }
    .streakTierIcon,
    .streakFooterIcon {
      color:#5b3800 !important;
      background:linear-gradient(180deg,#ffe76f,#ffbc1f) !important;
      border:1px solid rgba(255,255,255,.26) !important;
      box-shadow:0 5px 0 #c88600 !important;
    }
    .streakTierTop span {
      color:var(--streak-cyan) !important;
    }
    .streakFooterNote {
      border-radius:20px !important;
      margin-top:0 !important;
    }
    .streakCelebrateTopline {
      justify-content:space-between !important;
      align-items:center !important;
    }
    .streakCelebrateTopline::before {
      content:"Streak validee";
      display:inline-flex;
      align-items:center;
      min-height:34px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.14);
      color:var(--streak-cyan);
      font-size:.68rem;
      font-weight:1000;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .streakCelebrateChip {
      background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.07)) !important;
      color:#fff8d7 !important;
      box-shadow:0 5px 0 rgba(31,6,66,.45) !important;
    }
    .streakCelebrateStage {
      padding:8px 10px 0 !important;
      border-radius:26px !important;
      background:linear-gradient(135deg, rgba(255,79,216,.14), rgba(86,216,255,.08) 52%, rgba(255,217,61,.10)) !important;
      border:1px solid rgba(255,255,255,.12) !important;
    }
    .streakCelebrateFlame {
      width:min(190px, 44vw) !important;
      height:min(190px, 44vw) !important;
      filter:drop-shadow(0 18px 28px rgba(255,142,33,.24));
    }
    .streakCelebrateCount {
      color:#fff8d7 !important;
      font-size:clamp(3.8rem, 12vw, 5.4rem) !important;
      line-height:.82 !important;
    }
    .streakCelebrateCaption {
      color:var(--streak-yellow) !important;
      font-weight:1000 !important;
      text-shadow:0 2px 0 rgba(92,39,0,.26);
    }
    .streakCelebrateActions {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .streakCelebrateButton {
      min-height:54px !important;
      border-radius:18px !important;
      border:3px solid rgba(255,255,255,.30) !important;
      color:#5b3800 !important;
      background:linear-gradient(180deg,#ffe76f,#ffbc1f) !important;
      box-shadow:0 7px 0 #c88600, 0 16px 22px rgba(0,0,0,.20) !important;
      font-weight:1000 !important;
      cursor:pointer !important;
      transition:transform .16s ease, filter .16s ease, box-shadow .16s ease !important;
    }
    .streakCelebrateButton--ghost {
      color:#fff8d7 !important;
      background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.07)) !important;
      border-color:rgba(255,255,255,.16) !important;
      box-shadow:0 5px 0 rgba(31,6,66,.50), 0 14px 22px rgba(0,0,0,.18) !important;
    }
    .streakCelebrateButton:hover,
    .streakCelebrateButton:focus-visible {
      transform:translateY(-2px) !important;
      filter:saturate(1.06) !important;
      outline:none !important;
    }
    .streakLaunch,
    .streakTopChip,
    .miniCurrency--streak {
      background:
        radial-gradient(circle at 16% 8%, rgba(255,217,61,.20), transparent 30%),
        linear-gradient(180deg,#5d1ec9 0%, #42109b 56%, #2f0872 100%) !important;
      border-color:rgba(255,255,255,.16) !important;
    }
    .streakLaunchTag {
      box-shadow:0 4px 0 rgba(185,124,0,.55), inset 0 1px 0 rgba(255,255,255,.35) !important;
    }
    @media (max-width: 720px) {
      .streakModalDialog {
        width:calc(100% - 16px) !important;
        max-height:calc(100dvh - 16px) !important;
        margin:8px auto !important;
        padding:11px !important;
        border-radius:26px !important;
        gap:9px !important;
      }
      .streakModalClose {
        top:11px !important;
        right:11px !important;
        width:38px !important;
        height:38px !important;
        border-radius:13px !important;
      }
      .streakModalHero {
        padding:15px 46px 12px !important;
        border-radius:22px !important;
      }
      .streakModalHeroFlame {
        width:86px !important;
        height:86px !important;
      }
      .streakModalTitle {
        font-size:3.45rem !important;
      }
      .streakModalCountLabel {
        font-size:1rem !important;
      }
      .streakWeekCard,
      .streakObjectiveCard,
      .streakStatCard,
      .streakTierCard,
      .streakFooterNote {
        border-width:1px !important;
      }
      .streakWeekCard,
      .streakObjectiveCard {
        padding:12px !important;
        border-radius:20px !important;
      }
      .streakWeekRow,
      .streakCelebrateWeekRow {
        gap:5px !important;
      }
      .streakWeekDay,
      .streakCelebrateDay {
        border-radius:14px !important;
        padding:7px 2px !important;
      }
      .streakWeekBadge,
      .streakCelebrateDay strong {
        width:30px !important;
        height:30px !important;
        font-size:.8rem !important;
      }
      .streakSectionHead,
      .streakObjectiveHead {
        gap:8px !important;
      }
      .streakObjectiveProgressHead {
        gap:5px !important;
      }
      .streakStatGrid {
        grid-template-columns:1fr !important;
      }
      .streakStatCard {
        min-height:auto !important;
        grid-template-columns:auto minmax(0,1fr) !important;
        padding:11px !important;
        border-radius:18px !important;
      }
      .streakTierCard {
        grid-template-columns:auto minmax(0,1fr) !important;
        padding:11px !important;
        border-radius:18px !important;
      }
      .streakTierArrow,
      .streakTierProgress {
        display:none !important;
      }
      .streakCelebrateDialog {
        position:absolute !important;
        left:8px !important;
        right:8px !important;
        bottom:calc(var(--tabh, 88px) + var(--safe-bottom, env(safe-area-inset-bottom, 0px)) + 8px) !important;
        width:auto !important;
        max-height:calc(100dvh - var(--tabh, 88px) - var(--safe-bottom, env(safe-area-inset-bottom, 0px)) - 20px) !important;
        margin:0 auto !important;
        padding:12px !important;
        border-radius:28px !important;
        overflow:auto !important;
        transform:translateY(calc(100% + var(--tabh, 88px))) scale(1) !important;
      }
      .streakCelebrateModal.open .streakCelebrateDialog {
        transform:translateY(0) scale(1) !important;
      }
      .streakCelebrateTopline::before {
        min-height:30px;
        padding:6px 10px;
        font-size:.58rem;
      }
      .streakCelebrateStage {
        gap:12px !important;
        padding:7px 7px 0 !important;
        border-radius:22px !important;
      }
      .streakCelebrateFlame {
        width:min(150px, 44vw) !important;
        height:min(150px, 44vw) !important;
      }
      .streakCelebrateTitle {
        font-size:1.5rem !important;
      }
      .streakCelebrateText {
        font-size:.84rem !important;
      }
      .streakCelebrateActions {
        grid-template-columns:1fr;
        gap:8px;
      }
      .streakCelebrateButton {
        min-height:50px !important;
        border-radius:16px !important;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .streakCelebrateModal,
      .streakCelebrateBackdrop,
      .streakCelebrateDialog,
      .streakCelebrateStage,
      .streakCelebrateBody,
      .streakCelebrateActions {
        transition:none !important;
        filter:none !important;
      }
    }


        .promoSlot{display:grid;gap:14px;margin:14px 0}
        .promoSlotStack{display:grid;gap:14px}
        .promoCard{position:relative;overflow:hidden;min-height:var(--promo-desktop-min-height,160px);border-radius:26px;background:linear-gradient(145deg,rgba(8,26,39,.96),rgba(13,53,73,.95) 46%,rgba(246,191,96,.92) 100%);border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 28px rgba(0,0,0,.16)}
        .promoCard--kind-generic_ad{background:linear-gradient(145deg,rgba(16,34,62,.96),rgba(34,102,148,.94) 42%,rgba(97,224,255,.90) 100%)}
        .promoCardSurface{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr);align-items:stretch;gap:14px;height:100%;color:inherit;text-decoration:none}
        .promoCardSurface--ad{grid-template-columns:1fr}
        .promoCardSurface--imageOnly{grid-template-columns:1fr}
        .promoCard.is-copy-only .promoCardSurface{grid-template-columns:1fr}
        .promoCardCopy{display:grid;gap:10px;padding:18px}
        .promoCardMetaRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
        .promoCardPartner,.promoCardType,.promoCardCta{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:1000;letter-spacing:.04em}
        .promoCardPartner{background:rgba(255,245,187,.18);border:1px solid rgba(255,245,187,.24);color:#fff1c1}
        .promoCardType{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#dff6ff}
        .promoCardEyebrow{font-size:10px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;color:#ffe39d}
        .promoCardCopy h3{margin:0;font-family:"Baloo 2",sans-serif;font-size:clamp(24px,2.6vw,34px);line-height:.94;font-weight:800;color:#fff9dd}
        .promoCardCopy p{margin:0;font-size:13px;font-weight:800;line-height:1.45;color:#e9fbff}
        .promoCardCta{width:max-content;background:#fff2b3;color:#553100;box-shadow:0 8px 0 rgba(101,61,0,.16)}
        .promoCardMedia{position:relative;overflow:hidden;border-radius:22px;min-height:100%;background:rgba(5,16,31,.36)}
        .promoCardMedia img{display:block;width:100%;height:100%;object-fit:cover}
        .promoCard.is-image-only .promoCardMedia{min-height:var(--promo-desktop-min-height,160px)}
        .promoCard.is-ad-embed{padding:0}
        .promoAdShell{display:grid;gap:12px;padding:16px}
        .promoAdFrame{display:grid;align-items:center;justify-items:center;min-height:var(--promo-desktop-min-height,160px);padding:14px;border-radius:20px;background:rgba(5,16,31,.34);border:1px dashed rgba(255,255,255,.18);overflow:auto}
        .promoAdFrame > *{max-width:100%}
        .promoCard--desktop-inline_strip .promoCardSurface{grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr)}
        .promoCard--desktop-sidebar_square .promoCardSurface{grid-template-columns:1fr}
        .promoCard--desktop-sidebar_square .promoCardMedia{min-height:220px}
        .promoSlot--jackpot-show-sidebar-top{margin:0}
        .promoSlot--spidwheel-sidebar-top{margin:0}
        .promoSlot--jackpot-show-sidebar-top .promoSlotStack{gap:10px}
        .promoSlot--spidwheel-sidebar-top .promoSlotStack{gap:10px}
        .promoSlot--dashboard-global-top,.promoSlot--dashboard-global-bottom{margin:10px 0 18px}
        @media (max-width:900px){
          .promoCard{min-height:var(--promo-mobile-min-height,136px)}
          .promoCardSurface,.promoCardSurface--ad,.promoCard--desktop-inline_strip .promoCardSurface,.promoCard--desktop-sidebar_square .promoCardSurface{grid-template-columns:1fr}
          .promoCardMedia{order:-1;min-height:170px}
          .promoCard.is-image-only .promoCardMedia{min-height:var(--promo-mobile-min-height,136px)}
          .promoAdFrame{min-height:var(--promo-mobile-min-height,136px)}
        }
        @media (max-width:700px){
          .promoCard.is-desktop-only{display:none}
          .promoCardCopy{padding:16px}
          .promoCardCopy h3{font-size:28px}
          .promoCardMedia{min-height:150px}
        }
        @media (min-width:701px){
          .promoCard.is-mobile-only{display:none}
        }
        .playerDropdownName{font-weight:900}
        .playerDropdownRole{font-size:11px;color:#ffe47f;font-weight:800}
        .authGateActions--offset{margin-top:16px}
        .authGateFooter--offset{margin-top:10px}
        .mobileBottomInner--dashboard{grid-template-columns:repeat(5,minmax(0,1fr))}
