/* ============================================================
   fourdigits design system — the `ld-` layer
   ------------------------------------------------------------
   One stylesheet, loaded by both the player app and the operator
   console. It used to live inline in the player's index.html and
   the console carried a second, smaller system of its own, which
   is how two parts of one product came to look like two products.

   Everything here is shared. What makes a console a console is
   the theme layer on top of it (ld-admin.css): it redefines the
   identity tokens and nothing else.
   ============================================================ */
/* Plus Jakarta Sans, self-hosted from the brand kit. It used to come from
   Google Fonts, which meant every page load told a third party who was reading
   it, the type could not render if that host was slow, and the policy had to
   keep a hole open for two external origins. The files are ours now and the
   hole is closed. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/brand/fonts/plus-jakarta-sans-400.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/brand/fonts/plus-jakarta-sans-500.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/brand/fonts/plus-jakarta-sans-600.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/brand/fonts/plus-jakarta-sans-700.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('/brand/fonts/plus-jakarta-sans-800.woff2') format('woff2')}

  :root{
    --ld-bg:#F8FAFC; --ld-hover:#F1F5F9;
    --ld-ink:#0F172A; --ld-ink-2:#334155; --ld-muted:#64748B; --ld-faint:#94A3B8;
    --ld-line:#E2E8F0; --ld-line-2:#EEF2F7;
    /* Indigo is the fourdigits blue. It stays fixed, because the digit tile is the
       signature of the product and is the same object whoever is looking at it
       — a player reading a result, or an operator typing one in. */
    --ld-indigo:#4F46E5; --ld-indigo-700:#4338CA; --ld-indigo-900:#312E81; --ld-indigo-950:#1E1B4B;
    --ld-indigo-50:#EEF2FF; --ld-indigo-100:#E0E7FF; --ld-indigo-200:#C7D2FE;
    /* The accent is the app's identity: rail, buttons, links, focus, selection.
       It is indigo in the player app and teal in the operator console, and that
       one difference is what tells you which of the two you are looking at.
       Every rule below goes through these seven and never through a literal. */
    --ld-accent:#4F46E5; --ld-accent-700:#4338CA; --ld-accent-900:#312E81; --ld-accent-950:#1E1B4B;
    --ld-accent-50:#EEF2FF; --ld-accent-100:#E0E7FF; --ld-accent-200:#C7D2FE;
    --ld-emerald:#059669; --ld-emerald-bg:#ECFDF5; --ld-emerald-ink:#047857; --ld-emerald-line:#A7F3D0;
    --ld-amber:#F59E0B; --ld-amber-bg:#FFFBEB; --ld-amber-ink:#B45309;
    --ld-rose:#E11D48; --ld-rose-bg:#FFF1F2; --ld-rose-ink:#BE123C;
    --ld-sky:#0284C7; --ld-sky-bg:#F0F9FF; --ld-sky-ink:#0369A1;
    --ld-sb-w:272px; --ld-sb-w-collapsed:76px; --ld-tb-h:64px;
  }
  *,*::before,*::after{box-sizing:border-box}
  [hidden]{display:none !important}
  html,body{margin:0}
  body.ld-body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--ld-ink);background:var(--ld-bg);-webkit-font-smoothing:antialiased}
  .ld-ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
  .ld-ico-sm{width:16px;height:16px}
  :focus-visible{outline:2px solid var(--ld-accent);outline-offset:2px}
  .ld-num{font-variant-numeric:tabular-nums}
  .ld-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

  /* ---------- Buttons ---------- */
  .ld-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s}
  .ld-btn:disabled{opacity:.5;cursor:not-allowed}
  .ld-btn-primary{background:var(--ld-accent);color:#fff}
  .ld-btn-primary:hover:not(:disabled){background:var(--ld-accent-700)}
  .ld-btn-secondary{background:#fff;color:var(--ld-ink);border-color:var(--ld-line)}
  .ld-btn-secondary:hover:not(:disabled){background:var(--ld-hover)}
  .ld-btn-block{width:100%}
  .ld-btn-lg{height:48px;font-size:15px}
  .ld-btn-sm{height:34px;padding:0 12px;font-size:13px}
  .ld-icon-btn{position:relative;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border:0;border-radius:10px;background:transparent;color:var(--ld-ink-2);cursor:pointer}
  .ld-icon-btn:hover{background:var(--ld-hover);color:var(--ld-ink)}
  .ld-link{color:var(--ld-accent);font:inherit;font-weight:600;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}
  .ld-link:hover{text-decoration:underline}
  .ld-link:disabled{color:var(--ld-faint);cursor:default;text-decoration:none}
  .ld-btn.ld-is-loading{pointer-events:none;opacity:.8}
  /* The busy indicator inside a button. Four balls in the button's own colour
     rather than a generic ring, so a button that is working still looks like
     this product and not like every other website. */
  .ld-spinner{display:none;position:relative;width:16px;height:16px;flex-shrink:0}
  .ld-spinner::before,.ld-spinner::after,
  .ld-btn.ld-is-loading .ld-spinner{box-sizing:border-box}
  .ld-spinner::before{content:"";position:absolute;top:0;left:0;width:44%;height:44%;border-radius:50%;background:currentColor;animation:ld-loader-pulse 1.2s ease-in-out infinite}
  .ld-spinner::after{content:"";position:absolute;bottom:0;right:0;width:44%;height:44%;border-radius:50%;background:currentColor;opacity:.55;animation:ld-loader-pulse 1.2s ease-in-out .3s infinite}
  .ld-btn.ld-is-loading .ld-spinner{display:inline-block}
  @keyframes ld-spin{to{transform:rotate(360deg)}}

  .ld-brand{display:flex;align-items:center;gap:10px;min-width:0;color:inherit;text-decoration:none}
  /* The real logo, from the brand kit. The full lockup while the menu is open,
     the four-ball mark alone once it collapses to icons — which is exactly the
     width the mark was drawn to survive. Both are SVG with the lettering
     converted to shapes, so they are right whether or not the font has
     arrived. */
  .ld-logo-full{display:block;width:118px;height:32px}
  .ld-logo-mark{display:none;width:32px;height:32px}
  .ld-app.ld-is-collapsed .ld-logo-full{display:none}
  .ld-app.ld-is-collapsed .ld-logo-mark{display:block}
  /* On the sign-in screens there is no menu to collapse, so the lockup is
     simply bigger — it is the first thing anybody sees of the product. */
  .ld-auth .ld-logo-full{width:148px;height:40px}
  .ld-brand-mark{width:34px;height:34px;flex-shrink:0;border-radius:10px;background:var(--ld-accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:-.02em}
  .ld-brand-text{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}
  .ld-brand-name{font-weight:800;font-size:16px;letter-spacing:-.01em}
  .ld-brand-sub{font-size:11.5px;color:var(--ld-muted);font-weight:600}

  /* ---------- Digit tiles (signature element) ---------- */
  .ld-digits{display:inline-flex;gap:5px}
  .ld-digit{width:36px;height:44px;display:grid;place-items:center;border-radius:9px;background:#fff;border:1px solid var(--ld-indigo-100);box-shadow:inset 0 -3px 0 var(--ld-indigo-50);color:var(--ld-indigo-950);font-weight:800;font-size:22px;font-variant-numeric:tabular-nums;line-height:1}
  .ld-digits-sm{gap:4px}
  .ld-digits-sm .ld-digit{width:26px;height:32px;font-size:15px;border-radius:7px;box-shadow:inset 0 -2px 0 var(--ld-indigo-50)}
  .ld-digits-lg .ld-digit{width:48px;height:58px;font-size:30px;border-radius:12px}

  /* ---------- Forms ---------- */
  .ld-field{margin-top:18px}
  .ld-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;color:var(--ld-ink-2);margin-bottom:6px}
  .ld-label-opt{font-weight:500;color:var(--ld-faint)}
  .ld-input-wrap{position:relative}
  /* The show-password eye sits inside the box it belongs to. This rule was in
     the reference and never made it into the shared sheet, so the button fell
     out of the field and landed under it. */
  .ld-pw-toggle{position:absolute;right:3px;top:3px}
  .ld-input{width:100%;height:46px;padding:0 14px;border:1px solid var(--ld-line);border-radius:10px;background:#fff;color:var(--ld-ink);font:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}
  .ld-input::placeholder{color:var(--ld-faint)}
  .ld-input:focus{outline:none;border-color:var(--ld-accent);box-shadow:0 0 0 4px var(--ld-accent-100)}
  select.ld-input{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
  .ld-input-pw{padding-right:50px}
  .ld-field-hint{margin-top:6px;font-size:12.5px;color:var(--ld-muted)}
  .ld-field-error{display:none;margin-top:6px;font-size:12.5px;font-weight:500;color:var(--ld-rose-ink)}
  .ld-field.ld-is-invalid .ld-input{border-color:var(--ld-rose)}
  .ld-field.ld-is-invalid .ld-input:focus{box-shadow:0 0 0 4px var(--ld-rose-bg)}
  .ld-field.ld-is-invalid .ld-field-error{display:block}
  .ld-field.ld-is-invalid .ld-field-hint{display:none}
  .ld-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:16px}



  .ld-age-badge{flex-shrink:0;height:24px;padding:0 8px;border-radius:6px;border:1.5px solid var(--ld-ink-2);color:var(--ld-ink-2);display:grid;place-items:center;font-weight:800;font-size:11px}
  .ld-eyebrow{font-size:13px;font-weight:600;color:var(--ld-muted)}
  .ld-cd{display:flex;align-items:flex-start;gap:6px;margin-top:8px}
  .ld-cd-unit{display:flex;flex-direction:column;align-items:center;min-width:56px}
  .ld-cd-num{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .ld-cd-sep{font-size:34px;line-height:1.05;font-weight:700;color:var(--ld-accent-200)}
  .ld-cd-label{margin-top:6px;font-size:11.5px;font-weight:600;color:var(--ld-muted)}
  /* ---------- Status pieces ---------- */
  .ld-dot-ico{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
  .ld-tone-success{background:var(--ld-emerald-bg);color:var(--ld-emerald)}
  .ld-tone-warning{background:var(--ld-amber-bg);color:var(--ld-amber-ink)}
  .ld-tone-danger{background:var(--ld-rose-bg);color:var(--ld-rose)}
  .ld-tone-info{background:var(--ld-sky-bg);color:var(--ld-sky)}
  .ld-tone-indigo{background:var(--ld-accent-50);color:var(--ld-accent)}
  .ld-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
  .ld-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
  .ld-pill-success{background:var(--ld-emerald-bg);color:var(--ld-emerald-ink)}
  .ld-pill-warning{background:var(--ld-amber-bg);color:var(--ld-amber-ink)}
  .ld-pill-danger{background:var(--ld-rose-bg);color:var(--ld-rose-ink)}
  .ld-pill-info{background:var(--ld-sky-bg);color:var(--ld-sky-ink)}
  .ld-pill-neutral{background:var(--ld-hover);color:var(--ld-muted)}

  /* ---------- App shell ---------- */
  .ld-app{display:flex;min-height:100vh}
  .ld-sb{position:sticky;top:0;height:100vh;width:var(--ld-sb-w);flex-shrink:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--ld-line);z-index:40;transition:width .22s ease}
  .ld-sb-head{height:var(--ld-tb-h);flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 20px;border-bottom:1px solid var(--ld-line)}
  .ld-sb-close{display:none;margin-left:auto}
  .ld-sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px}
  .ld-nav-group-label{padding:14px 12px 6px;color:var(--ld-muted);font-size:12px;font-weight:600;white-space:nowrap}
  .ld-nav-group-label:first-child{padding-top:4px}
  .ld-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
  .ld-nav-link{display:flex;align-items:center;gap:12px;width:100%;height:42px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--ld-ink-2);font:inherit;font-size:14px;font-weight:600;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s}
  .ld-nav-link:hover{background:var(--ld-hover);color:var(--ld-ink)}
  .ld-nav-link.ld-is-active{background:var(--ld-accent-50);color:var(--ld-accent)}
  .ld-nav-parent.ld-is-current{color:var(--ld-accent)}
  .ld-nav-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .ld-caret{width:16px;height:16px;color:var(--ld-muted);transition:transform .2s ease}
  .ld-nav-group.ld-is-open > .ld-nav-parent .ld-caret{transform:rotate(180deg)}
  .ld-nav-count{min-width:22px;height:20px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;font-size:11px;font-weight:700;background:var(--ld-sky-bg);color:var(--ld-sky-ink)}
  .ld-subnav-wrap{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .22s ease,visibility 0s linear .22s}
  .ld-nav-group.ld-is-open > .ld-subnav-wrap{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .22s ease}
  .ld-subnav{list-style:none;margin:0;padding:0;min-height:0;overflow:hidden}
  .ld-subnav li:first-child{margin-top:2px}
  .ld-subnav li:last-child{margin-bottom:6px}
  .ld-sub-link{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding:0 12px 0 44px;border-radius:8px;color:var(--ld-muted);font-weight:500;text-decoration:none;white-space:nowrap}
  .ld-sub-link::before{content:"";position:absolute;left:21px;top:0;bottom:0;width:1px;background:var(--ld-line)}
  .ld-sub-link:hover{color:var(--ld-ink);background:var(--ld-hover)}
  .ld-sub-link.ld-is-active{color:var(--ld-accent);font-weight:600}
  .ld-sub-link.ld-is-active::before{width:2px;left:20px;background:var(--ld-accent)}
  .ld-sub-text{flex:1}
  .ld-sb-foot{flex-shrink:0;padding:12px;border-top:1px solid var(--ld-line)}

  .ld-flyout{position:fixed;z-index:80;background:#fff;border:1px solid var(--ld-line);border-radius:12px;box-shadow:0 16px 32px -12px rgba(15,23,42,.2);padding:6px 12px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility 0s .12s}
  .ld-flyout.ld-is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .12s}
  .ld-flyout-title{font-weight:700;font-size:13.5px;white-space:nowrap}
  .ld-flyout.ld-flyout-menu{min-width:210px;padding:10px 6px 6px}
  .ld-flyout.ld-flyout-menu .ld-flyout-title{padding:0 10px 6px;color:var(--ld-muted);font-size:12.5px;font-weight:600}
  .ld-flyout-link{display:flex;align-items:center;justify-content:space-between;gap:12px;height:36px;padding:0 10px;border-radius:8px;color:var(--ld-ink-2);text-decoration:none;font-weight:500;white-space:nowrap}
  .ld-flyout-link:hover{background:var(--ld-hover);color:var(--ld-ink)}
  .ld-flyout-link.ld-is-active{background:var(--ld-accent-50);color:var(--ld-accent);font-weight:600}

  .ld-overlay{display:none}
  .ld-main{flex:1;min-width:0;display:flex;flex-direction:column}

  /* Top strip */
  .ld-tb{position:sticky;top:0;z-index:30;height:var(--ld-tb-h);display:flex;align-items:center;gap:12px;padding:0 20px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ld-line)}
  .ld-tb-title{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
  .ld-tb-crumb{color:var(--ld-muted);font-weight:500}
  .ld-tb-crumb-sep{color:#CBD5E1}
  .ld-tb-page{font-weight:700;font-size:15.5px;overflow:hidden;text-overflow:ellipsis}
  .ld-tb-actions{margin-left:auto;display:flex;align-items:center;gap:6px}
  .ld-dd-anchor{position:relative}

  .ld-draw-chip{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px 0 10px;border-radius:12px;border:1px solid var(--ld-line);background:#fff;color:var(--ld-ink);text-decoration:none;margin-right:4px}
  .ld-draw-chip:hover{background:var(--ld-hover)}
  .ld-draw-dot{width:8px;height:8px;border-radius:50%;background:var(--ld-emerald);box-shadow:0 0 0 4px var(--ld-emerald-bg)}
  .ld-draw-chip.ld-is-closed .ld-draw-dot{background:var(--ld-rose);box-shadow:0 0 0 4px var(--ld-rose-bg)}
  .ld-draw-chip-meta{display:flex;flex-direction:column;line-height:1.15}
  .ld-draw-chip-label{font-size:11px;font-weight:600;color:var(--ld-muted);white-space:nowrap}
  .ld-draw-chip-time{font-size:14.5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}

  .ld-wallet-btn{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px 0 6px;border-radius:999px;border:1px solid var(--ld-accent-100);background:var(--ld-accent-50);color:var(--ld-accent-900);font:inherit;cursor:pointer;transition:border-color .15s,background-color .15s}
  .ld-wallet-btn:hover,.ld-wallet-btn[aria-expanded="true"]{border-color:var(--ld-accent-200);background:var(--ld-accent-100)}
  .ld-wallet-ico{width:32px;height:32px;border-radius:50%;background:var(--ld-accent);color:#fff;display:grid;place-items:center}
  .ld-wallet-ico .ld-ico{width:17px;height:17px}
  .ld-wallet-meta{display:flex;flex-direction:column;text-align:left;line-height:1.15}
  .ld-wallet-label{font-size:11px;font-weight:600;color:#6366F1;white-space:nowrap}
  .ld-wallet-amt{font-size:14.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-wallet-btn .ld-caret{color:#6366F1}

  .ld-bell-count{position:absolute;top:4px;right:3px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;border:2px solid #fff;background:var(--ld-rose);color:#fff;font-size:10px;font-weight:700;line-height:14px;text-align:center}

  .ld-profile-btn{display:flex;align-items:center;gap:10px;height:44px;padding:0 8px 0 4px;border:0;border-radius:999px;background:none;font:inherit;color:var(--ld-ink);cursor:pointer}
  .ld-profile-btn:hover,.ld-profile-btn[aria-expanded="true"]{background:var(--ld-hover)}
  .ld-avatar{position:relative;width:36px;height:36px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#D1FAE5;color:#065F46;font-weight:700;font-size:13px}
  .ld-avatar::after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--ld-emerald);border:2px solid #fff}
  .ld-avatar-lg{width:44px;height:44px;font-size:15px}
  .ld-profile-meta{display:flex;flex-direction:column;text-align:left;line-height:1.2}
  .ld-profile-name{font-weight:700;font-size:13.5px;white-space:nowrap}
  .ld-profile-role{color:var(--ld-muted);font-size:12px;white-space:nowrap}

  .ld-dd{position:absolute;top:calc(100% + 10px);right:0;width:340px;background:#fff;border:1px solid var(--ld-line);border-radius:16px;box-shadow:0 2px 6px rgba(15,23,42,.05),0 24px 48px -20px rgba(15,23,42,.22);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility 0s .15s;z-index:70}
  .ld-dd.ld-is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .15s,transform .15s}
  .ld-dd-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--ld-line-2)}
  .ld-dd-title{margin:0;font-size:15px;font-weight:700}
  .ld-dd-foot{padding:12px 18px;border-top:1px solid var(--ld-line-2);text-align:center}

  .ld-dd-wallet{width:350px;max-height:calc(100vh - var(--ld-tb-h) - 20px);overflow-y:auto}
  .ld-wdd-body{padding:18px}
  .ld-wdd-amt{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:2px 0 14px;white-space:nowrap}
  .ld-wdd-amt small{font-size:15px;font-weight:700;color:var(--ld-muted);margin-left:4px}
  .ld-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
  .ld-split-item{padding:10px 12px;border-radius:12px;background:var(--ld-bg);border:1px solid var(--ld-line-2);min-width:0}
  .ld-split-label{display:flex;align-items:center;gap:6px;color:var(--ld-muted);font-size:12px;font-weight:600;white-space:nowrap}
  .ld-split-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ld-split-dot,var(--ld-muted))}
  .ld-split-val{font-weight:700;margin-top:2px;white-space:nowrap}
  .ld-wdd-note{margin:0 0 14px;font-size:12px;color:var(--ld-muted)}
  .ld-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .ld-eye-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--ld-line);background:#fff;color:var(--ld-ink-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
  .ld-eye-btn:hover{background:var(--ld-hover)}

  .ld-dd-notif{width:380px}
  .ld-notif-list{list-style:none;margin:0;padding:6px 0;max-height:380px;overflow-y:auto}
  .ld-notif{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;width:100%;padding:12px 36px 12px 18px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}
  .ld-notif:hover{background:var(--ld-hover)}
  .ld-notif-body{display:flex;flex-direction:column}
  .ld-notif-title{font-weight:600;font-size:13.5px;line-height:1.35}
  .ld-notif-desc{color:var(--ld-muted);font-size:12.5px;margin-top:1px}
  .ld-notif-time{color:var(--ld-faint);font-size:12px;margin-top:3px}
  .ld-notif.ld-is-unread{background:#FAFAFF}
  .ld-notif.ld-is-unread:hover{background:var(--ld-accent-50)}
  .ld-notif.ld-is-unread::after{content:"";position:absolute;right:18px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--ld-accent)}

  .ld-dd-profile{width:270px}
  .ld-pdd-head{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;border-bottom:1px solid var(--ld-line-2)}
  .ld-pdd-head > div{min-width:0}
  .ld-pdd-email{color:var(--ld-muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ld-pdd-session{display:flex;align-items:center;gap:8px;margin:10px 16px 0;padding:8px 10px;border-radius:8px;background:var(--ld-bg);color:var(--ld-muted);font-size:12.5px}
  .ld-menu{list-style:none;margin:0;padding:6px}
  .ld-menu-item{display:flex;align-items:center;gap:12px;width:100%;height:40px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--ld-ink-2);font:inherit;font-weight:500;text-align:left;text-decoration:none;cursor:pointer}
  .ld-menu-item:hover{background:var(--ld-hover);color:var(--ld-ink)}
  .ld-menu-item .ld-ico{color:var(--ld-muted)}
  .ld-menu-sep{height:1px;margin:6px 4px;background:var(--ld-line-2)}
  .ld-menu-item.ld-menu-danger,.ld-menu-item.ld-menu-danger .ld-ico{color:var(--ld-rose-ink)}
  .ld-menu-item.ld-menu-danger:hover{background:var(--ld-rose-bg)}

  /* ---------- Page content ---------- */
  .ld-content{width:100%;max-width:1240px;margin:0 auto;padding:28px}
  .ld-page-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:22px}
  .ld-page-title{margin:0;font-size:26px;line-height:1.25;font-weight:800;letter-spacing:-.02em}
  .ld-page-title:focus{outline:none}
  /* A heading is focused on arrival so a screen reader announces the new
     screen. That is the whole reason it is focusable, and drawing a ring
     around it for everybody else just looks like the title is a text box. */
  .ld-auth-title:focus{outline:none}
  .ld-page-sub{margin:4px 0 0;color:var(--ld-muted)}

  .ld-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .ld-hero{grid-column:span 2;padding:22px 24px;border-radius:18px;background:var(--ld-accent);color:#fff;display:flex;flex-direction:column}
  .ld-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .ld-hero-label{font-weight:700;font-size:14px}
  .ld-hero-state{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:600;white-space:nowrap}
  .ld-hero-state::before{content:"";width:7px;height:7px;border-radius:50%;background:#6EE7B7}
  .ld-hero.ld-is-closed .ld-hero-state::before{background:#FDA4AF}
  .ld-hero-sub{margin-top:14px;font-size:13px;font-weight:600;color:var(--ld-accent-200)}
  .ld-hero .ld-cd{margin-top:6px}
  .ld-hero .ld-cd-num{font-size:44px}
  .ld-hero .ld-cd-sep{color:rgba(255,255,255,.35);font-size:38px}
  .ld-hero .ld-cd-label{color:var(--ld-accent-200)}
  .ld-hero-meta{margin-top:10px;font-size:13px;color:var(--ld-accent-200)}
  .ld-hero-strong{color:#fff;font-weight:700}
  .ld-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:18px}
  .ld-btn-onbrand{background:#fff;color:var(--ld-accent-700)}
  .ld-btn-onbrand:hover{background:var(--ld-accent-50)}
  .ld-btn-ghostbrand{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#fff}
  .ld-btn-ghostbrand:hover{background:rgba(255,255,255,.18)}

  .ld-stat{padding:18px 20px;border-radius:14px;background:#fff;border:1px solid var(--ld-line);display:flex;flex-direction:column;min-width:0}
  .ld-stat-label{display:flex;align-items:center;gap:10px;color:var(--ld-muted);font-size:13px;font-weight:600}
  .ld-stat-label .ld-dot-ico{width:32px;height:32px}
  .ld-stat-amt{margin-top:16px;font-size:24px;font-weight:800;letter-spacing:-.015em;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-stat-amt small{font-size:13px;font-weight:700;color:var(--ld-muted);margin-left:3px}
  .ld-stat-foot{font-size:12.5px;color:var(--ld-muted)}
  .ld-stat-foot strong{color:var(--ld-ink-2);font-weight:700}
  .ld-stat-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:14px}

  .ld-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}
  .ld-col{display:flex;flex-direction:column;gap:16px;min-width:0}
  .ld-panel{background:#fff;border:1px solid var(--ld-line);border-radius:14px;min-width:0}
  .ld-panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-panel-title{margin:0;font-size:16px;font-weight:700}
  .ld-panel-tag{font-size:12.5px;font-weight:600;color:var(--ld-muted)}
  .ld-panel-body{padding:18px 20px 20px}

  .ld-seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--ld-hover)}
  .ld-seg-btn{height:30px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--ld-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
  .ld-seg-btn[aria-pressed="true"]{background:#fff;color:var(--ld-ink);box-shadow:0 1px 2px rgba(15,23,42,.1)}
  .ld-seg-lg .ld-seg-btn{height:36px;padding:0 18px;font-size:14px}

  /* Pick numbers */
  .ld-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px 28px}
  .ld-pick-block + .ld-pick-block{margin-top:18px}
  .ld-pick-label{display:block;font-size:13px;font-weight:600;color:var(--ld-ink-2);margin-bottom:8px}
  .ld-pick-digits{display:flex;align-items:center;gap:8px}
  .ld-pick-digit{width:52px;height:62px;padding:0;text-align:center;font:inherit;font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ld-accent-950);border:1px solid var(--ld-line);border-radius:12px;background:#fff;box-shadow:inset 0 -3px 0 var(--ld-line-2);transition:border-color .15s,box-shadow .15s}
  .ld-pick-digit::placeholder{color:#CBD5E1}
  .ld-pick-digit:focus{outline:none;border-color:var(--ld-accent);box-shadow:inset 0 -3px 0 var(--ld-accent-100),0 0 0 4px var(--ld-accent-100)}
  .ld-pick-digits.ld-is-invalid .ld-pick-digit{border-color:var(--ld-rose)}
  .ld-random-btn{margin-left:4px;border:1px solid var(--ld-line);width:44px;height:44px}
  .ld-pick-help{margin-top:8px;font-size:12.5px;color:var(--ld-muted)}
  .ld-stepper{display:inline-flex;align-items:center;height:46px;border:1px solid var(--ld-line);border-radius:10px;overflow:hidden;background:#fff}
  .ld-stepper:focus-within{border-color:var(--ld-accent);box-shadow:0 0 0 4px var(--ld-accent-100)}
  .ld-stepper-btn{width:44px;height:100%;border:0;background:var(--ld-bg);color:var(--ld-ink-2);display:grid;place-items:center;cursor:pointer}
  .ld-stepper-btn:hover{background:var(--ld-hover)}
  .ld-stepper-input{width:84px;height:100%;border:0;border-left:1px solid var(--ld-line);border-right:1px solid var(--ld-line);text-align:center;font:inherit;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ld-ink)}
  .ld-stepper-input:focus{outline:none}
  .ld-stepper-unit{padding:0 12px;color:var(--ld-muted);font-weight:600;font-size:13px}
  .ld-stepper.ld-is-invalid{border-color:var(--ld-rose)}

  .ld-summary{margin:0;padding:14px 16px;border-radius:12px;background:var(--ld-bg);border:1px solid var(--ld-line-2)}
  .ld-sum-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13.5px}
  .ld-sum-row dt{color:var(--ld-muted)}
  .ld-sum-row dd{margin:0;font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-sum-total{margin-top:6px;padding-top:11px;border-top:1px solid var(--ld-line)}
  .ld-sum-total dt{color:var(--ld-ink);font-weight:700}
  .ld-sum-total dd{font-size:17px;font-weight:800}
  .ld-sum-odds{margin:10px 0 0;font-size:12px;color:var(--ld-muted)}
  .ld-form-error{margin:12px 0 0;font-size:13px;font-weight:500;color:var(--ld-rose-ink)}
  .ld-pick-foot{margin-top:14px}
  .ld-closed-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--ld-rose-bg);color:var(--ld-rose-ink);font-size:13px;font-weight:500}

  .ld-review{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
  .ld-review-line{font-size:15px;color:var(--ld-ink-2)}
  .ld-review-line strong{color:var(--ld-ink)}
  .ld-review-warn{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--ld-amber-bg);color:var(--ld-amber-ink);font-size:13px;font-weight:500;width:100%}
  .ld-review-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%}

  /* Tickets */
  .ld-tk-list{list-style:none;margin:0;padding:0}
  .ld-tk{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(96px,auto);grid-template-areas:"num main status amt";align-items:center;column-gap:16px;padding:12px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-tk:last-child{border-bottom:0}
  .ld-tk-num{grid-area:num}
  .ld-tk-main{grid-area:main;min-width:0}
  .ld-tk-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ld-tk-sub{color:var(--ld-muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ld-tk-status{grid-area:status}
  .ld-tk-amt{grid-area:amt;text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-tk-amt.ld-is-won{color:var(--ld-emerald-ink)}
  .ld-tk-amt.ld-is-lost{color:var(--ld-faint)}
  .ld-tk-empty{padding:28px 20px;text-align:center;color:var(--ld-muted)}
  /* The covered numbers sit on their own full-width row. Only tickets that
     have them get the second grid row, so every other ticket keeps the layout
     it already had. */
  .ld-tk.ld-tk-has-nums{grid-template-areas:"num main status amt" "nums nums nums nums"}
  .ld-tk-nums{grid-area:nums;margin-top:10px}
  /* The covered numbers under a written ticket in the members table. Its own
     row, so it is not hoverable or tappable the way the ticket row above is. */
  .ld-mb-nums-row td{padding:4px 16px 14px;background:var(--ld-bg)}
  .ld-mb-nums-row:hover td{background:var(--ld-bg)}

  /* Results */
  .ld-prize-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--ld-line-2)}
  .ld-prize-row:first-child{padding-top:0}
  .ld-prize-name{font-weight:700}
  .ld-prize-rate{font-size:12.5px;color:var(--ld-muted);font-variant-numeric:tabular-nums}
  .ld-tier{margin-top:14px}
  .ld-tier-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px}
  .ld-tier-name{font-weight:700}
  .ld-tier-rate{color:var(--ld-muted);font-variant-numeric:tabular-nums}
  .ld-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
  .ld-chip{height:30px;display:grid;place-items:center;border-radius:8px;background:var(--ld-bg);border:1px solid var(--ld-line-2);font-weight:600;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ld-ink-2)}
  .ld-chip.ld-is-mine{background:var(--ld-emerald-bg);border-color:var(--ld-emerald-line);color:var(--ld-emerald-ink);font-weight:700}
  .ld-legend{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;color:var(--ld-muted)}
  .ld-legend::before{content:"";width:14px;height:14px;border-radius:4px;background:var(--ld-emerald-bg);border:1px solid var(--ld-emerald-line)}
  .ld-verify{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;color:var(--ld-muted)}
  .ld-verify .ld-ico{color:var(--ld-emerald)}
  .ld-toggle-more{margin-top:10px;font-size:13px}

  /* Responsible play + referrals */
  .ld-limit-head{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}
  .ld-limit-head span:first-child{font-weight:600}
  .ld-limit-head span:last-child{color:var(--ld-muted);font-variant-numeric:tabular-nums}
  .ld-progress{height:8px;border-radius:999px;background:var(--ld-hover);overflow:hidden;margin:8px 0 4px}
  .ld-progress-bar{height:100%;border-radius:999px;background:var(--ld-accent)}
  .ld-progress-bar.ld-is-high{background:var(--ld-amber)}
  .ld-kv{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--ld-line-2);font-size:13.5px;margin-top:10px}
  .ld-kv + .ld-kv{margin-top:0}
  .ld-kv span:first-child{color:var(--ld-muted)}
  .ld-kv span:last-child{font-weight:600}
  .ld-small-note{margin:10px 0 14px;font-size:12.5px;color:var(--ld-muted)}
  .ld-inline-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:13px}

  .ld-invite{display:flex;gap:8px}
  .ld-invite .ld-input{height:40px;font-size:13.5px;min-width:0;background:var(--ld-bg)}
  .ld-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
  .ld-mini{padding:10px 12px;border-radius:10px;background:var(--ld-bg);border:1px solid var(--ld-line-2);min-width:0}
  .ld-mini-label{font-size:12px;color:var(--ld-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ld-mini-val{font-weight:800;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}

  .ld-empty{padding:56px 24px;text-align:center}
  .ld-empty .ld-dot-ico{width:52px;height:52px;margin:0 auto 14px}
  .ld-empty-title{margin:0;font-size:17px;font-weight:700}
  .ld-empty-text{margin:6px auto 18px;max-width:380px;color:var(--ld-muted)}

  .ld-page-foot{display:flex;align-items:center;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--ld-line);color:var(--ld-muted);font-size:12.5px}

  .ld-toast{position:fixed;left:50%;bottom:24px;z-index:90;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 24px);padding:12px 16px;border-radius:12px;background:#fff;border:1px solid var(--ld-line);box-shadow:0 20px 40px -16px rgba(15,23,42,.3);font-weight:600;transform:translate(-50%,12px);opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility 0s .18s}
  .ld-toast.ld-is-open{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .18s,transform .18s}
  .ld-toast .ld-dot-ico{width:28px;height:28px}


  /* ---------- Wallets ---------- */
  .ld-reward-pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;margin-left:2px;border-radius:999px;background:var(--ld-emerald-bg);border:1px solid var(--ld-emerald-line);color:var(--ld-emerald-ink);font-size:12.5px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-reward-pill .ld-ico{width:14px;height:14px}
  .ld-wcard{padding:14px;border-radius:14px;border:1px solid var(--ld-line);background:#fff}
  .ld-wcard + .ld-wcard{margin-top:10px}
  .ld-wcard-reward{background:var(--ld-emerald-bg);border-color:var(--ld-emerald-line)}
  .ld-wcard-head{display:flex;align-items:center;gap:10px}
  .ld-wcard-head .ld-dot-ico{width:32px;height:32px}
  .ld-wcard-reward .ld-wcard-head .ld-dot-ico{background:#fff}
  .ld-wcard-name{font-weight:700;font-size:14px;line-height:1.25}
  .ld-wcard-sub{font-size:12px;color:var(--ld-muted);line-height:1.35}
  .ld-wcard-amt{margin:10px 0 2px;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-wcard-amt small{font-size:14px;font-weight:700;color:var(--ld-muted);margin-left:4px}
  .ld-wcard-meta{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:12.5px;color:var(--ld-muted)}
  .ld-wcard-meta::before{content:"";width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--ld-wcard-dot,var(--ld-muted))}
  .ld-wcard-meta strong{color:var(--ld-ink-2);font-weight:700}
  .ld-stat-reward{border-color:var(--ld-emerald-line)}
  .ld-stat-reward .ld-stat-foot strong{color:var(--ld-emerald-ink)}
  .ld-paywith{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ld-pay{position:relative;display:block;cursor:pointer}
  .ld-pay input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
  .ld-pay-body{display:flex;flex-direction:column;gap:2px;height:100%;padding:10px 12px 10px 34px;border:1px solid var(--ld-line);border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s,background-color .15s;position:relative}
  .ld-pay-body::before{content:"";position:absolute;left:12px;top:13px;width:14px;height:14px;border-radius:50%;border:2px solid #CBD5E1;background:#fff}
  .ld-pay input:checked + .ld-pay-body{border-color:var(--ld-accent);background:var(--ld-accent-50);box-shadow:0 0 0 3px var(--ld-accent-100)}
  .ld-pay input:checked + .ld-pay-body::before{border:4px solid var(--ld-accent)}
  .ld-pay input:focus-visible + .ld-pay-body{outline:2px solid var(--ld-accent);outline-offset:2px}
  .ld-paywith.ld-is-invalid .ld-pay input:checked + .ld-pay-body{border-color:var(--ld-rose);box-shadow:0 0 0 3px var(--ld-rose-bg);background:#fff}
  .ld-pay-name{font-weight:600;font-size:13px;line-height:1.3;color:var(--ld-ink)}
  .ld-pay-bal{font-size:12.5px;color:var(--ld-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-invite-intro{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:12px 14px;border-radius:12px;background:var(--ld-emerald-bg);border:1px solid var(--ld-emerald-line);color:#065F46;font-size:13.5px}
  .ld-invite-intro .ld-dot-ico{width:32px;height:32px;background:#fff;color:var(--ld-emerald)}
  .ld-invite-intro p{margin:0}
  .ld-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
  .ld-mini-foot{margin-top:12px;font-size:13px}

  /* ---------- Collapsed rail (desktop) ---------- */
  @media (min-width:961px){
    .ld-app.ld-is-collapsed .ld-sb{width:var(--ld-sb-w-collapsed)}
    .ld-app.ld-is-collapsed .ld-brand-text,
    .ld-app.ld-is-collapsed .ld-nav-text,
    .ld-app.ld-is-collapsed .ld-nav .ld-caret,
    .ld-app.ld-is-collapsed .ld-nav .ld-nav-count,
    .ld-app.ld-is-collapsed .ld-subnav-wrap{display:none}
    .ld-app.ld-is-collapsed .ld-nav-link{justify-content:center;padding:0}
    .ld-app.ld-is-collapsed .ld-nav-parent.ld-is-current{background:var(--ld-accent-50)}
    .ld-app.ld-is-collapsed .ld-nav-group-label{height:1px;padding:0;margin:10px 8px;font-size:0;background:var(--ld-line)}
    .ld-app.ld-is-collapsed .ld-nav-group-label:first-child{margin-top:0;background:transparent}
  }

  /* ---------- Responsive ---------- */
  @media (max-width:1180px){
    .ld-profile-meta,.ld-profile-btn > .ld-caret{display:none}
    .ld-profile-btn{padding:0 4px}
    .ld-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ld-grid{grid-template-columns:minmax(0,1fr)}
  }
  @media (max-width:1100px){
    .ld-draw-chip{display:none}
  }
  @media (max-width:960px){

    .ld-sb{position:fixed;left:0;top:0;bottom:0;height:auto;width:min(288px,86vw);transform:translateX(-100%);visibility:hidden;z-index:60;transition:transform .25s ease,visibility 0s linear .25s}
    .ld-app.ld-is-drawer-open .ld-sb{transform:none;visibility:visible;box-shadow:24px 0 48px -24px rgba(15,23,42,.3);transition:transform .25s ease}
    .ld-sb-close{display:grid}
    .ld-overlay{display:block;position:fixed;inset:0;z-index:55;background:rgba(15,23,42,.35);opacity:0;pointer-events:none;transition:opacity .2s}
    .ld-app.ld-is-drawer-open .ld-overlay{opacity:1;pointer-events:auto}
  }
  @media (max-width:1180px){
    .ld-reward-pill{display:none}
  }
  @media (max-width:560px){
    .ld-tb{padding:0 12px;gap:8px}
    .ld-tb-title{display:none}
    .ld-tb-actions{gap:4px}
    .ld-wallet-label,.ld-wallet-btn .ld-caret{display:none}
    .ld-wallet-btn{gap:8px;padding:0 12px 0 5px}
    .ld-dd,.ld-dd-wallet,.ld-dd-notif,.ld-dd-profile{position:fixed;top:calc(var(--ld-tb-h) + 6px);left:12px;right:12px;width:auto}
    .ld-notif-list{max-height:60vh}

    .ld-content{padding:18px 14px}
    .ld-page-title{font-size:22px}
    .ld-stats{gap:12px}
    .ld-hero{padding:18px}
    .ld-hero .ld-cd-num{font-size:36px}
    .ld-hero .ld-cd-sep{font-size:30px}
    .ld-cd-unit{min-width:48px}
    .ld-hero-actions .ld-btn{flex:1}
    .ld-stat{padding:14px}
    .ld-stat-label{font-size:12.5px;align-items:flex-start;flex-direction:column;gap:8px}
    .ld-stat-amt{font-size:19px;margin-top:10px}
    .ld-stat-actions{grid-template-columns:1fr}
    .ld-stat-actions .ld-btn{height:34px}
    .ld-paywith{grid-template-columns:minmax(0,1fr)}

    .ld-panel-head{padding:14px 16px}
    .ld-panel-body{padding:16px}
    .ld-pick-digit{width:48px;height:58px;font-size:28px}
    .ld-review-actions .ld-btn{flex:1}
    .ld-tk{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"num main amt" "num status amt";row-gap:4px;column-gap:12px;padding:12px 16px}
    .ld-tk.ld-tk-has-nums{grid-template-areas:"num main amt" "num status amt" "nums nums nums"}
    .ld-tk-status{justify-self:start}
    .ld-page-head .ld-btn{display:none}
  }

  .ld-check{display:flex;align-items:flex-start;gap:10px;color:var(--ld-ink-2);cursor:pointer;font-weight:500;font-size:13.5px}
  .ld-check input{width:17px;height:17px;margin:2px 0 0;flex-shrink:0;accent-color:var(--ld-accent)}

  .ld-otp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:360px;margin-top:22px}
  .ld-otp-input{width:100%;height:56px;padding:0;text-align:center;font:inherit;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ld-ink);border:1px solid var(--ld-line);border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
  .ld-otp-input:focus{outline:none;border-color:var(--ld-accent);box-shadow:0 0 0 4px var(--ld-accent-100)}
  .ld-otp.ld-is-invalid .ld-otp-input{border-color:var(--ld-rose)}
  .ld-otp-error{display:none;margin-top:8px;font-size:12.5px;font-weight:500;color:var(--ld-rose-ink)}
  .ld-otp.ld-is-invalid + .ld-otp-error{display:block}


  /* ---------- Auth screens ---------- */
  .ld-auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:#fff}
  .ld-auth-col{display:flex;flex-direction:column;padding:28px 48px}
  .ld-auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .ld-auth-back{display:inline-flex;align-items:center;gap:6px;color:var(--ld-muted);font-weight:600;text-decoration:none;font-size:13.5px}
  .ld-auth-back:hover{color:var(--ld-ink)}
  .ld-auth-inner{width:100%;max-width:400px;margin:auto;padding:36px 0}
  .ld-auth-title{margin:0 0 6px;font-size:30px;line-height:1.2;font-weight:800;letter-spacing:-.025em}
  .ld-auth-sub{margin:0;color:var(--ld-muted);font-size:15px}
  .ld-auth-sub strong{color:var(--ld-ink-2);font-weight:600}
  .ld-auth-alt{margin:22px 0 0;text-align:center;color:var(--ld-muted)}
  .ld-auth-note{margin-top:26px;padding:10px 12px;border-radius:10px;background:var(--ld-bg);border:1px dashed var(--ld-line);color:var(--ld-muted);font-size:12.5px}
  .ld-auth-foot{display:flex;align-items:center;gap:10px;color:var(--ld-muted);font-size:12.5px}
  .ld-back-btn{display:inline-flex;align-items:center;gap:6px;margin-bottom:22px;color:var(--ld-muted);font-weight:600;background:none;border:0;padding:0;font:inherit;cursor:pointer}
  .ld-back-btn:hover{color:var(--ld-ink)}



  .ld-auth-aside{position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column;justify-content:center;gap:36px;padding:56px;background:var(--ld-accent-50);border-left:1px solid var(--ld-accent-100);overflow:hidden}
  .ld-aside-title{margin:0;max-width:460px;font-size:38px;line-height:1.12;font-weight:800;letter-spacing:-.03em;color:var(--ld-accent-950)}
  .ld-aside-text{margin:12px 0 0;max-width:430px;color:#475569;font-size:15.5px}
  .ld-aside-card{max-width:460px;background:#fff;border:1px solid var(--ld-accent-100);border-radius:20px;box-shadow:0 1px 2px rgba(15,23,42,.05),0 30px 60px -30px rgba(67,56,202,.35)}
  .ld-aside-card-top{padding:22px 24px;border-bottom:1px solid var(--ld-line-2)}
  .ld-aside-card-bottom{padding:18px 24px 22px}
  .ld-cd-meta{margin-top:12px;font-size:13px;color:var(--ld-muted)}
  .ld-mini-prizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
  .ld-mini-prize-label{font-size:12px;font-weight:600;color:var(--ld-muted);margin-bottom:6px}
  .ld-mini-prizes .ld-digit{width:26px;height:34px;font-size:16px;border-radius:7px}
  .ld-mini-prizes .ld-digits{gap:3px}


  .ld-checks{margin-top:18px;display:flex;flex-direction:column;gap:10px}
  .ld-checks.ld-is-invalid .ld-field-error{display:block}
  .ld-pw-rules{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;list-style:none;font-size:12.5px;color:var(--ld-muted)}
  .ld-pw-rule{display:flex;align-items:center;gap:6px}
  .ld-pw-rule::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ld-line)}
  .ld-pw-rule.ld-is-met{color:var(--ld-emerald-ink)}
  .ld-pw-rule.ld-is-met::before{background:var(--ld-emerald)}
  .ld-dob{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1fr);gap:8px}
  .ld-resend{margin-top:16px;color:var(--ld-muted);font-size:13.5px}

  .ld-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 26px;padding:0;list-style:none}
  .ld-step{display:flex;flex-direction:column;gap:8px;font-size:12.5px;font-weight:600;color:var(--ld-faint)}
  .ld-step::before{content:"";height:4px;border-radius:999px;background:var(--ld-line)}
  .ld-step.ld-is-current{color:var(--ld-ink)}
  .ld-step.ld-is-current::before{background:var(--ld-accent)}
  .ld-step.ld-is-done{color:var(--ld-emerald-ink)}
  .ld-step.ld-is-done::before{background:var(--ld-emerald)}


  /* ---- Setting up an authenticator --------------------------------------
     One centred column where every element is the same width: the QR, the
     key, the six boxes and the button. Its own class names throughout — the
     older .ld-2fa rules below still dress the Settings screen's version, and
     two sets of rules fighting over one element is how the last two layout
     faults on this app happened. */
  .ld-tf{max-width:460px;margin-left:auto;margin-right:auto}
  .ld-tf-done{text-align:center;padding:6px 0 4px}
  .ld-tf-done .ld-dot-ico{margin:0 auto 10px;width:38px;height:38px;border-radius:12px}
  .ld-tf-done h2{margin:0 0 6px;font-size:17px;font-weight:800;color:var(--ld-ink)}
  .ld-tf-done p{margin:0;font-size:13.5px;color:var(--ld-muted)}
  .ld-tf-body{display:flex;flex-direction:column;gap:14px}
  .ld-tf-qr{align-self:center;margin:2px 0 0}
  .ld-tf-lead{margin:0;text-align:center;font-size:13.5px;color:var(--ld-muted)}
  .ld-tf-or{display:flex;align-items:center;gap:10px;margin:2px 0;
    font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ld-faint)}
  .ld-tf-or::before,.ld-tf-or::after{content:"";flex:1;height:1px;background:var(--ld-line-2)}
  .ld-tf-keyrow{display:flex;gap:8px;align-items:stretch}
  .ld-tf-key{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;
    padding:11px 12px;border:1px solid var(--ld-line);border-radius:10px;background:var(--ld-bg);
    color:var(--ld-ink);font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.09em;
    line-height:1.45;text-align:center;word-break:break-all}
  .ld-tf-copy{flex-shrink:0;width:44px;padding:0;display:grid;place-items:center}
  .ld-tf-rule{height:1px;background:var(--ld-line-2);margin:4px 0 0}
  .ld-tf-field{margin:0}
  /* The boxes reach the card's edges, so the row and the button below it
     measure the same rather than the button being twice as wide. */
  .ld-tf .ld-otp{max-width:none;margin-top:10px}
  .ld-tf .ld-otp-input{height:52px;font-size:22px}
  @media (max-width:420px){
    .ld-tf .ld-otp{gap:5px}
    .ld-tf .ld-otp-input{height:48px;font-size:20px}
    .ld-tf-key{font-size:12.5px;letter-spacing:.06em}
  }

  .ld-2fa{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;padding:16px;border:1px solid var(--ld-line);border-radius:14px;background:var(--ld-bg)}
  .ld-qr{width:132px;height:132px;flex-shrink:0;padding:8px;border-radius:10px;background:#fff;border:1px solid var(--ld-line)}
  .ld-qr svg{display:block;width:100%;height:100%}
  .ld-2fa-text{flex:1;min-width:180px;font-size:13px;color:var(--ld-muted)}
  .ld-2fa-text ol{margin:0 0 10px;padding-left:18px}
  .ld-2fa-key{display:block;margin-top:4px;padding:6px 8px;border-radius:8px;background:#fff;border:1px solid var(--ld-line);color:var(--ld-ink);font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums;word-break:break-all}

  .ld-ref-note{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:9px 12px;border-radius:10px;background:var(--ld-emerald-bg);border:1px solid var(--ld-emerald-line);color:#065F46;font-size:13px}
  .ld-ref-note .ld-ico{margin-top:2px;color:var(--ld-emerald)}
  .ld-ref-note strong{font-weight:700}
  /* ---------- Responsive ---------- */
  @media (max-width:1180px){
    .ld-auth-aside{padding:48px 40px}
  }
  @media (max-width:960px){
    .ld-auth{grid-template-columns:minmax(0,1fr)}
    .ld-auth-aside{display:none}
    .ld-auth-col{padding:20px}
  }
  @media (max-width:560px){
    .ld-auth-inner{padding:28px 0}
    .ld-auth-title{font-size:26px}
    .ld-otp{gap:6px}
    .ld-otp-input{height:52px;font-size:22px}
  }

  /* ---------- Local time ---------- */
  .ld-aside-local{margin:14px 0 0;font-size:20px;line-height:1.35;font-weight:600;letter-spacing:-.01em;color:var(--ld-accent-700)}
  .ld-aside-local strong{font-weight:800;color:var(--ld-accent-950);font-variant-numeric:tabular-nums}
  .ld-aside-card-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 16px}
  .ld-now{font-size:12.5px;font-weight:600;color:var(--ld-muted)}
  .ld-now strong{color:var(--ld-ink);font-variant-numeric:tabular-nums}
  .ld-cd-meta strong{color:var(--ld-ink-2);font-weight:700;font-variant-numeric:tabular-nums}
  .ld-drawbar{display:none}
  .ld-local-note{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:9px 12px;border-radius:10px;background:var(--ld-accent-50);border:1px solid var(--ld-accent-100);color:var(--ld-accent-900);font-size:13px}
  .ld-local-note .ld-ico{margin-top:2px;color:var(--ld-accent)}
  .ld-local-note strong{font-weight:700;font-variant-numeric:tabular-nums}
  @media (max-width:960px){
    .ld-drawbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--ld-accent-50);border:1px solid var(--ld-accent-100)}
    .ld-drawbar-cd{flex-shrink:0}
    .ld-drawbar-label{display:block;font-size:12px;font-weight:600;color:var(--ld-muted);white-space:nowrap}
    .ld-drawbar-time{display:block;font-size:20px;line-height:1.2;font-weight:800;color:var(--ld-accent-950);font-variant-numeric:tabular-nums}
    .ld-drawbar-local{min-width:0;text-align:right}
    .ld-drawbar-draw{display:block;font-size:14px;font-weight:600;color:var(--ld-ink-2)}
    .ld-drawbar-draw strong{font-weight:800;color:var(--ld-ink);font-variant-numeric:tabular-nums}
    .ld-drawbar-zone{display:block;font-size:12px;color:var(--ld-muted)}
  }
  .ld-done .ld-dot-ico{width:52px;height:52px;margin-bottom:18px}
  .ld-done .ld-auth-title:focus{outline:none}
  .ld-done-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

  /* ---------- Pick numbers ---------- */
  .ld-pn{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:start}
  .ld-pn-col{display:flex;flex-direction:column;gap:16px;min-width:0}
  .ld-step-title{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:700}
  .ld-step-badge{width:26px;height:26px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--ld-accent-50);color:var(--ld-accent);font-size:13px;font-weight:800}

  .ld-draws{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
  .ld-draw{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px 10px;border:1px solid var(--ld-line);border-radius:12px;background:#fff;font:inherit;color:var(--ld-ink);cursor:pointer;text-align:center;transition:border-color .15s,background-color .15s,box-shadow .15s}
  .ld-draw:hover{background:var(--ld-hover)}
  .ld-draw[aria-pressed="true"]{border-color:var(--ld-accent);background:var(--ld-accent-50);box-shadow:0 0 0 3px var(--ld-accent-100)}
  .ld-draw[aria-pressed="true"]::after{content:"";position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;background:var(--ld-accent);border:2px solid #fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}
  .ld-draw-day{font-size:13px;font-weight:700;white-space:nowrap}
  .ld-draw-date{font-size:12px;color:var(--ld-muted);white-space:nowrap}
  .ld-draw-time{font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-draw-no{font-size:11px;color:var(--ld-faint);font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-draws-foot{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin-top:12px;font-size:12.5px;color:var(--ld-muted)}
  .ld-draws-foot strong{color:var(--ld-ink-2);font-weight:700}

  .ld-tset{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px 20px;padding:14px 16px;border-radius:12px;background:var(--ld-bg);border:1px solid var(--ld-line-2)}
  .ld-tset-block{min-width:0}
  .ld-tset .ld-stepper{height:40px}
  .ld-tset .ld-stepper-input{width:72px;font-size:15px}
  .ld-tset .ld-stepper-btn{width:38px}
  .ld-chips-row{display:flex;flex-wrap:wrap;gap:6px}
  .ld-stake-chip{height:32px;padding:0 12px;border:1px solid var(--ld-line);border-radius:8px;background:#fff;color:var(--ld-ink-2);font:inherit;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}
  .ld-stake-chip:hover{background:var(--ld-hover)}
  .ld-stake-chip[aria-pressed="true"]{border-color:var(--ld-accent);background:var(--ld-accent-50);color:var(--ld-accent)}
  .ld-tset-note{width:100%;margin:0;font-size:12.5px;color:var(--ld-muted)}

  .ld-tabs{display:flex;gap:24px;height:48px;margin-bottom:18px;border-bottom:1px solid var(--ld-line-2);overflow-x:auto;scrollbar-width:none}
  .ld-tabs::-webkit-scrollbar{display:none}
  .ld-tab{display:flex;align-items:center;gap:8px;height:48px;padding:0;border:0;border-bottom:2px solid transparent;background:none;color:var(--ld-muted);font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}
  .ld-tab .ld-ico{width:17px;height:17px}
  .ld-tab:hover{color:var(--ld-ink)}
  .ld-tab[aria-selected="true"]{color:var(--ld-accent);border-bottom-color:var(--ld-accent)}

  .ld-dip-opts{display:flex;flex-direction:column;gap:10px;margin-top:16px}
  .ld-dip-result{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--ld-bg);border:1px solid var(--ld-line-2)}
  .ld-dip-item{display:flex;align-items:center;gap:6px}
  .ld-fair{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:9px 12px;border-radius:10px;background:var(--ld-accent-50);border:1px solid var(--ld-accent-100);color:var(--ld-accent-900);font-size:12.5px}
  .ld-fair .ld-ico{margin-top:1px;color:var(--ld-accent)}
  .ld-saved-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--ld-line-2)}
  .ld-saved-row:last-child{border-bottom:0}
  .ld-saved-label{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ld-again-group{margin-top:16px}
  .ld-again-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:13px;font-weight:700}

  .ld-slip{position:sticky;top:calc(var(--ld-tb-h) + 16px)}
  .ld-slip-lines{max-height:min(46vh,420px);overflow-y:auto;padding:4px 20px}
  .ld-slip-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"num cost remove" "ctrl ctrl ctrl";align-items:center;gap:8px 10px;padding:12px 0;border-bottom:1px solid var(--ld-line-2)}
  .ld-slip-line:last-child{border-bottom:0}
  .ld-slip-num{grid-area:num}
  .ld-slip-cost{grid-area:cost;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-slip-remove{grid-area:remove;width:32px;height:32px}
  .ld-slip-ctrl{grid-area:ctrl;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  .ld-type-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--ld-line);border-radius:8px;background:#fff;color:var(--ld-ink-2);font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer}
  .ld-type-btn:hover{background:var(--ld-hover)}
  .ld-mini-stake{display:inline-flex;align-items:center;height:30px;border:1px solid var(--ld-line);border-radius:8px;background:#fff;overflow:hidden}
  .ld-mini-stake:focus-within{border-color:var(--ld-accent);box-shadow:0 0 0 3px var(--ld-accent-100)}
  .ld-mini-stake input{width:62px;height:100%;border:0;padding:0 8px;text-align:right;font:inherit;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ld-ink)}
  .ld-mini-stake input:focus{outline:none}
  .ld-mini-stake span{padding:0 8px;height:100%;display:grid;place-items:center;background:var(--ld-bg);border-left:1px solid var(--ld-line);color:var(--ld-muted);font-size:12px;font-weight:600;white-space:nowrap}
  .ld-mini-stake.ld-is-invalid{border-color:var(--ld-rose)}
  .ld-slip-empty{padding:34px 20px;text-align:center;color:var(--ld-muted)}
  .ld-slip-empty .ld-dot-ico{width:44px;height:44px;margin:0 auto 12px}
  .ld-slip-totals{padding:16px 20px 20px;border-top:1px solid var(--ld-line-2)}
  .ld-slip-days{margin:10px 0 0;font-size:12.5px;color:var(--ld-muted)}

  .ld-overlay-dlg{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.45)}
  .ld-dialog{width:100%;max-width:560px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 30px 60px -20px rgba(15,23,42,.35);overflow:hidden}
  .ld-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-dialog-title{margin:0;font-size:17px;font-weight:700}
  .ld-dialog-body{padding:18px 20px;overflow-y:auto}
  .ld-dialog-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 20px;border-top:1px solid var(--ld-line-2)}
  .ld-dlg-list{border:1px solid var(--ld-line-2);border-radius:12px;margin-bottom:14px}
  .ld-dlg-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:10px 14px;border-bottom:1px solid var(--ld-line-2);font-size:13.5px}
  .ld-dlg-row:last-child{border-bottom:0}
  .ld-dlg-row-main{min-width:0;font-weight:600}
  .ld-dlg-row-sub{color:var(--ld-muted);font-size:12.5px;font-weight:500}
  .ld-dlg-row-side{color:var(--ld-muted);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-dlg-done{text-align:center;padding:8px 0 4px}
  .ld-dlg-done .ld-dot-ico{width:56px;height:56px;margin:0 auto 14px}
  .ld-dlg-done h3{margin:0 0 6px;font-size:19px;font-weight:800}
  .ld-dlg-done p{margin:0 auto 16px;max-width:400px;color:var(--ld-muted)}
  html.ld-is-locked,html.ld-is-locked body{overflow:hidden}

  .ld-bar{display:none}

  /* ---------- Page kit (shared by inner pages) ---------- */
  .ld-page-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
  .ld-stack{display:flex;flex-direction:column;gap:16px;min-width:0}
  .ld-tabs{display:flex;gap:24px;padding:0 20px;border-bottom:1px solid var(--ld-line-2);overflow-x:auto;scrollbar-width:none}
  .ld-tabs::-webkit-scrollbar{display:none}
  .ld-tabs.ld-tabs-page{padding:0;margin:-4px 0 18px;border-bottom-color:var(--ld-line)}
  .ld-tab{position:relative;display:inline-flex;align-items:center;gap:8px;height:48px;padding:0;border:0;background:none;color:var(--ld-muted);font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}
  .ld-tab .ld-ico{width:17px;height:17px}
  .ld-tab:hover{color:var(--ld-ink)}
  .ld-tab[aria-selected="true"]{color:var(--ld-accent)}
  .ld-tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--ld-accent)}
  .ld-tab:focus-visible{outline-offset:-2px}
  .ld-panel-sub{margin:4px 0 0;font-size:13px;color:var(--ld-muted)}
  .ld-panel-head-text{min-width:0}

  .ld-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;border:1px solid var(--ld-line-2);background:var(--ld-bg);color:var(--ld-ink-2);font-size:13.5px}
  .ld-note .ld-ico{margin-top:2px;flex-shrink:0}
  .ld-note strong{font-weight:700}
  .ld-note-info{background:var(--ld-sky-bg);border-color:#BAE6FD;color:#075985}
  .ld-note-info .ld-ico{color:var(--ld-sky)}
  .ld-note-warn{background:var(--ld-amber-bg);border-color:#FDE68A;color:#92400E}
  .ld-note-warn .ld-ico{color:var(--ld-amber-ink)}
  .ld-note-danger{background:var(--ld-rose-bg);border-color:#FECDD3;color:#9F1239}
  .ld-note-danger .ld-ico{color:var(--ld-rose)}
  .ld-note-success{background:var(--ld-emerald-bg);border-color:var(--ld-emerald-line);color:#065F46}
  .ld-note-success .ld-ico{color:var(--ld-emerald)}

  .ld-dl{margin:0;border:1px solid var(--ld-line-2);border-radius:12px}
  .ld-dl > div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border-bottom:1px solid var(--ld-line-2);font-size:13.5px}
  .ld-dl > div:last-child{border-bottom:0}
  .ld-dl dt{color:var(--ld-muted)}
  .ld-dl dd{margin:0;font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
  .ld-dl dd small{display:block;font-weight:500;font-size:12px;color:var(--ld-muted)}

  .ld-switch{position:relative;flex-shrink:0;width:44px;height:26px;padding:0;border:0;border-radius:999px;background:#CBD5E1;cursor:pointer;transition:background-color .15s}
  .ld-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.25);transition:transform .15s}
  .ld-switch[aria-checked="true"]{background:var(--ld-accent)}
  .ld-switch[aria-checked="true"]::after{transform:translateX(18px)}
  .ld-switch:disabled{opacity:.55;cursor:not-allowed}
  .ld-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--ld-line-2)}
  .ld-setting:last-child{border-bottom:0}
  .ld-setting-title{font-weight:600}
  .ld-setting-sub{font-size:12.5px;color:var(--ld-muted)}
  /* Two channels a row, in the same two columns all the way down, so the eye
     can run down "email" without re-reading each label. */
  .ld-nt-cols{display:grid;grid-template-columns:repeat(2,64px);align-items:center;justify-items:center;gap:8px;flex:none}
  .ld-nt-head{padding-bottom:6px;border-bottom:0}
  .ld-nt-head .ld-nt-cols span{font-size:11.5px;font-weight:700;color:var(--ld-muted)}
  .ld-nt-always{font-size:12px;font-weight:600;color:var(--ld-muted)}
  @media (max-width:480px){.ld-nt-cols{grid-template-columns:repeat(2,52px);gap:4px}}

  .ld-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
  .ld-opt{position:relative;display:block;cursor:pointer}
  .ld-opt input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
  .ld-opt-body{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 14px 12px 38px;border:1px solid var(--ld-line);border-radius:12px;background:#fff;position:relative;transition:border-color .15s,box-shadow .15s,background-color .15s}
  .ld-opt-body::before{content:"";position:absolute;left:14px;top:15px;width:14px;height:14px;border-radius:50%;border:2px solid #CBD5E1;background:#fff}
  .ld-opt input:checked + .ld-opt-body{border-color:var(--ld-accent);background:var(--ld-accent-50);box-shadow:0 0 0 3px var(--ld-accent-100)}
  .ld-opt input:checked + .ld-opt-body::before{border:4px solid var(--ld-accent)}
  .ld-opt input:focus-visible + .ld-opt-body{outline:2px solid var(--ld-accent);outline-offset:2px}
  .ld-opt input:disabled + .ld-opt-body{opacity:.55;cursor:not-allowed}
  .ld-opt-title{font-weight:600;font-size:14px}
  .ld-opt-sub{font-size:12.5px;color:var(--ld-muted)}

  .ld-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .ld-form-grid .ld-field-full{grid-column:1 / -1}
  .ld-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}
  .ld-input[readonly]{background:var(--ld-bg);color:var(--ld-ink-2)}
  .ld-input-affix{position:relative}
  .ld-input-affix .ld-input{padding-right:84px}
  .ld-input-affix .ld-affix{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px}
  .ld-textarea{height:auto;min-height:110px;padding:10px 14px;line-height:1.5;resize:vertical}
  .ld-checks-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
  .ld-check{display:flex;align-items:flex-start;gap:10px;color:var(--ld-ink-2);cursor:pointer;font-weight:500;font-size:13.5px}
  .ld-check input{width:17px;height:17px;margin:2px 0 0;flex-shrink:0;accent-color:var(--ld-accent)}

  .ld-list{list-style:none;margin:0;padding:0}
  .ld-li{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-li:last-child{border-bottom:0}
  .ld-li-main{flex:1;min-width:0}
  .ld-li-title{font-weight:600;overflow-wrap:anywhere}
  .ld-li-sub{font-size:12.5px;color:var(--ld-muted);overflow-wrap:anywhere}
  .ld-li-right{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-li-right small{display:block;font-size:12px;color:var(--ld-muted)}
  .ld-li .ld-dot-ico{width:36px;height:36px}
  .ld-amt-in{color:var(--ld-emerald-ink);font-weight:700}
  .ld-amt-out{color:var(--ld-ink);font-weight:700}
  button.ld-li{width:100%;border:0;border-bottom:1px solid var(--ld-line-2);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
  button.ld-li:hover{background:var(--ld-bg)}
  button.ld-li:focus-visible{outline-offset:-2px}

  .ld-table-wrap{overflow-x:auto}
  .ld-table{width:100%;border-collapse:collapse;font-size:13.5px}
  .ld-table th{padding:10px 20px;text-align:left;font-size:12px;font-weight:600;color:var(--ld-muted);background:var(--ld-bg);border-bottom:1px solid var(--ld-line-2);white-space:nowrap}
  .ld-table td{padding:12px 20px;border-bottom:1px solid var(--ld-line-2);vertical-align:middle}
  .ld-table tr:last-child td{border-bottom:0}
  .ld-table .ld-num-col{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-table-sub{display:block;font-size:12px;color:var(--ld-muted)}

  .ld-steps-inline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:ld-step}
  .ld-steps-inline li{position:relative;padding:14px 14px 14px 52px;border-radius:12px;background:var(--ld-bg);border:1px solid var(--ld-line-2);font-size:13.5px;counter-increment:ld-step}
  .ld-steps-inline li::before{content:counter(ld-step);position:absolute;left:14px;top:14px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--ld-accent-50);color:var(--ld-accent);font-weight:800;font-size:13px}
  .ld-steps-inline strong{display:block;margin-bottom:2px}

  .ld-otp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:340px}
  .ld-otp-input{width:100%;height:52px;padding:0;text-align:center;font:inherit;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ld-ink);border:1px solid var(--ld-line);border-radius:12px;background:#fff}
  .ld-otp-input:focus{outline:none;border-color:var(--ld-accent);box-shadow:0 0 0 4px var(--ld-accent-100)}
  .ld-otp.ld-is-invalid .ld-otp-input{border-color:var(--ld-rose)}
  .ld-otp-error{display:none;margin-top:8px;font-size:12.5px;font-weight:500;color:var(--ld-rose-ink)}
  .ld-otp.ld-is-invalid + .ld-otp-error{display:block}

  .ld-modal{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:24px}
  .ld-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
  .ld-modal-card{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 30px 60px -20px rgba(15,23,42,.35)}
  .ld-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px 14px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-modal-title{margin:0;font-size:17px;font-weight:700}
  .ld-modal-title:focus{outline:none}
  .ld-modal-body{padding:18px 20px;overflow-y:auto}
  .ld-modal-body > * + *{margin-top:14px}
  .ld-modal-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--ld-line-2)}
  .ld-btn-danger{background:var(--ld-rose);color:#fff}
  .ld-btn-danger:hover:not(:disabled){background:var(--ld-rose-ink)}
  .ld-btn-danger-ghost{background:#fff;color:var(--ld-rose-ink);border-color:#FECDD3}
  .ld-btn-danger-ghost:hover:not(:disabled){background:var(--ld-rose-bg)}

  .ld-qr{width:156px;height:156px;flex-shrink:0;padding:10px;border-radius:12px;background:#fff;border:1px solid var(--ld-line)}
  .ld-qr svg{display:block;width:100%;height:100%}
  .ld-mono{font-variant-numeric:tabular-nums;letter-spacing:.02em;overflow-wrap:anywhere;word-break:break-all}

  .ld-bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding:8px 0 0}
  .ld-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0;height:100%}
  .ld-bar-fill{width:100%;max-width:38px;border-radius:8px 8px 3px 3px;background:var(--ld-accent-200);min-height:4px}
  .ld-bar.ld-is-current .ld-bar-fill{background:var(--ld-accent)}
  .ld-bar-val{font-size:11.5px;font-weight:700;color:var(--ld-ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-bar-label{font-size:11.5px;color:var(--ld-muted);white-space:nowrap}

  .ld-timeline{list-style:none;margin:0;padding:0}
  .ld-timeline li{position:relative;padding:0 0 14px 28px;font-size:13.5px}
  .ld-timeline li::before{content:"";position:absolute;left:6px;top:4px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--ld-line)}
  .ld-timeline li::after{content:"";position:absolute;left:11px;top:16px;bottom:0;width:2px;background:var(--ld-line-2)}
  .ld-timeline li:last-child{padding-bottom:0}
  .ld-timeline li:last-child::after{display:none}
  .ld-timeline li.ld-is-done::before{background:var(--ld-emerald);border-color:var(--ld-emerald)}
  .ld-timeline li.ld-is-now::before{background:var(--ld-amber);border-color:var(--ld-amber);box-shadow:0 0 0 4px var(--ld-amber-bg)}
  .ld-timeline small{display:block;color:var(--ld-muted);font-size:12px}

  .ld-acc{border:1px solid var(--ld-line-2);border-radius:12px;background:#fff}
  .ld-acc + .ld-acc{margin-top:8px}
  .ld-acc summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:600;cursor:pointer;list-style:none}
  .ld-acc summary::-webkit-details-marker{display:none}
  .ld-acc summary::after{content:"";flex-shrink:0;width:9px;height:9px;border-right:2px solid var(--ld-muted);border-bottom:2px solid var(--ld-muted);transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
  .ld-acc[open] summary::after{transform:rotate(225deg);margin-top:4px}
  .ld-acc-body{padding:0 16px 16px;color:var(--ld-ink-2);font-size:14px;line-height:1.6}
  .ld-acc-body p{margin:0}
  .ld-acc-body p + p{margin-top:8px}

  .ld-toc{position:sticky;top:calc(var(--ld-tb-h) + 16px)}
  .ld-toc-list{list-style:none;margin:0;padding:8px}
  .ld-toc-link{display:block;padding:8px 12px;border-radius:8px;color:var(--ld-ink-2);font-weight:500;text-decoration:none}
  .ld-toc-link:hover{background:var(--ld-hover)}
  .ld-toc-link.ld-is-active{background:var(--ld-accent-50);color:var(--ld-accent);font-weight:600}
  .ld-prose{font-size:14.5px;line-height:1.65;color:var(--ld-ink-2)}
  .ld-prose p{margin:0 0 10px}
  .ld-prose p:last-child{margin-bottom:0}
  .ld-prose strong{color:var(--ld-ink)}
  .ld-anchor{scroll-margin-top:calc(var(--ld-tb-h) + 16px)}

  .ld-big-amt{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}
  .ld-big-amt small{font-size:16px;font-weight:700;color:var(--ld-muted);margin-left:4px}
  .ld-chip-filter{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--ld-line);background:#fff;color:var(--ld-ink-2);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
  .ld-chip-filter[aria-pressed="true"]{border-color:var(--ld-accent);background:var(--ld-accent);color:#fff}
  .ld-chips-row{display:flex;flex-wrap:wrap;gap:8px}
  .ld-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ld-line-2)}
  .ld-hide{display:none}

  @media (max-width:1180px){
    .ld-page-grid{grid-template-columns:minmax(0,1fr)}
    .ld-toc{position:static}
  }
  @media (max-width:760px){
    .ld-form-grid{grid-template-columns:minmax(0,1fr)}
    .ld-steps-inline{grid-template-columns:minmax(0,1fr)}
  }
  @media (max-width:560px){
    .ld-li{padding:12px 16px}
    .ld-table-stack thead{display:none}
    .ld-table-stack tr{display:block;padding:10px 16px;border-bottom:1px solid var(--ld-line-2)}
    .ld-table-stack tr:last-child{border-bottom:0}
    .ld-table-stack td{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border:0;text-align:right}
    .ld-table-stack td::before{content:attr(data-label);color:var(--ld-muted);font-size:12.5px;text-align:left}
    .ld-table-stack td.ld-num-col{justify-content:space-between}
    .ld-modal{padding:0;align-items:flex-end}
    .ld-modal-card{max-width:none;max-height:92vh;border-radius:18px 18px 0 0}
    .ld-modal-foot .ld-btn{flex:1}
    .ld-otp{gap:6px}
    .ld-big-amt{font-size:28px}
    .ld-filter-bar{padding:12px}
    .ld-qr{width:140px;height:140px}
  }

  .ld-wl-hero{padding:22px 24px}
  .ld-wl-hero-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
  .ld-wl-hero-label{display:flex;align-items:center;gap:10px;font-weight:700}
  .ld-wl-hero-label .ld-dot-ico{width:34px;height:34px}
  .ld-wl-hero .ld-big-amt{margin:12px 0 4px}
  .ld-wl-hero-sub{font-size:13.5px;color:var(--ld-muted)}
  .ld-wl-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
  .ld-wl-split > div{padding:10px 12px;border-radius:12px;background:var(--ld-bg);border:1px solid var(--ld-line-2);min-width:0}
  .ld-wl-split dt{font-size:12px;color:var(--ld-muted);font-weight:600}
  .ld-wl-split dd{margin:2px 0 0;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-wl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
  .ld-wl-reward{border-color:var(--ld-emerald-line);background:linear-gradient(var(--ld-emerald-bg),var(--ld-emerald-bg))}
  .ld-wl-reward .ld-wl-split > div{background:#fff}
  .ld-wl-reward .ld-wl-hero-label .ld-dot-ico{background:#fff}
  .ld-earn{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--ld-line-2)}
  .ld-earn:last-child{border-bottom:0;padding-bottom:0}
  .ld-earn:first-child{padding-top:0}
  .ld-earn-amt{margin-left:auto;font-weight:800;color:var(--ld-emerald-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
  @media (max-width:560px){ .ld-wl-hero{padding:16px} .ld-wl-split{grid-template-columns:minmax(0,1fr)} .ld-wl-actions .ld-btn{flex:1} }

  .ld-dp-step{padding:18px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-dp-step:last-child{border-bottom:0}
  .ld-dp-step-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:15px;font-weight:700}
  .ld-step-no{width:26px;height:26px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--ld-accent-50);color:var(--ld-accent);font-size:13px;font-weight:800}
  .ld-dp-network{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--ld-line);background:var(--ld-bg);font-weight:600}
  .ld-dp-address{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-top:14px}
  .ld-dp-address-main{flex:1;min-width:220px}
  .ld-dp-addr-box{margin-top:6px;padding:12px 14px;border-radius:12px;border:1px solid var(--ld-accent-100);background:var(--ld-accent-50);font-size:15px;font-weight:700;color:var(--ld-accent-950)}
  .ld-dp-locked{position:relative}
  .ld-dp-locked.ld-is-locked-addr .ld-dp-address{filter:blur(6px);pointer-events:none;user-select:none}
  .ld-dp-lock-msg{display:none;position:absolute;left:0;right:0;top:40%;text-align:center;font-weight:600;color:var(--ld-ink-2)}
  .ld-dp-locked.ld-is-locked-addr .ld-dp-lock-msg{display:block}
  .ld-dp-progress{margin-top:6px}

  .ld-wd-from{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--ld-line);background:var(--ld-bg)}
  .ld-wd-from-name{display:flex;align-items:center;gap:10px;font-weight:600}
  .ld-wd-from-name .ld-dot-ico{width:32px;height:32px}
  .ld-wd-from-amt{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-wd-addrs{display:grid;gap:8px}
  .ld-wd-addrs .ld-opt-body{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}
  .ld-wd-addr-main{min-width:0}
  .ld-wd-amount{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;height:56px}
  .ld-wd-max{height:36px;padding:0 12px;font-size:13px}
  .ld-wd-sum{margin-top:18px}
  .ld-section-sub{margin:18px 0 8px;font-size:13px;font-weight:700;color:var(--ld-ink-2)}
  .ld-done-state{text-align:center;padding:4px 0}
  .ld-done-state .ld-dot-ico{width:56px;height:56px;margin:0 auto 12px}
  .ld-done-state h3{margin:0 0 4px;font-size:19px;font-weight:800}
  .ld-done-state p{margin:0;color:var(--ld-muted)}

  .ld-tx-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
  .ld-tx-stats .ld-stat-amt{margin-top:10px}
  .ld-tx-day{padding:8px 20px;background:var(--ld-bg);border-bottom:1px solid var(--ld-line-2);font-size:12.5px;font-weight:700;color:var(--ld-ink-2)}
  .ld-tx-more{padding:12px 16px 16px;text-align:center}
  .ld-tx-filters .ld-search{max-width:220px}
  @media (max-width:760px){ .ld-tx-stats{grid-template-columns:minmax(0,1fr);gap:10px} .ld-tx-filters .ld-search{max-width:none;flex-basis:100%} .ld-tx-filters .ld-select-sm{flex:1 1 40%} .ld-tx-day{padding:8px 16px} }

  .ld-ad-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 14px;align-items:start;padding:16px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-ad-card:last-child{border-bottom:0}
  .ld-ad-card .ld-dot-ico{width:40px;height:40px;grid-row:span 2}
  .ld-ad-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-weight:700}
  .ld-ad-addr{grid-column:2 / 4;font-size:13.5px;color:var(--ld-ink-2)}
  .ld-ad-meta{grid-column:2 / 4;font-size:12.5px;color:var(--ld-muted)}
  .ld-ad-actions{display:flex;gap:6px}
  .ld-ad-actions .ld-btn{height:34px;padding:0 12px;font-size:13px}
  @media (max-width:560px){ .ld-ad-card{grid-template-columns:auto minmax(0,1fr);padding:14px 16px} .ld-ad-actions{grid-column:1 / -1} .ld-ad-addr,.ld-ad-meta{grid-column:1 / -1} .ld-ad-card .ld-dot-ico{grid-row:auto} }

  .ld-iv-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 24px;border-color:var(--ld-emerald-line);background:var(--ld-emerald-bg)}
  .ld-iv-hero h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em;color:#064E3B}
  .ld-iv-hero p{margin:6px 0 16px;color:#065F46}
  .ld-iv-hero .ld-invite .ld-input{background:#fff}
  .ld-iv-code{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13.5px;color:#065F46}
  .ld-iv-code strong{padding:2px 8px;border-radius:6px;background:#fff;border:1px solid var(--ld-emerald-line);letter-spacing:.06em}
  .ld-iv-qr{text-align:center}
  .ld-iv-qr .ld-qr{margin:0 auto 6px}
  .ld-iv-qr span{font-size:12px;color:#065F46}
  .ld-iv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .ld-iv-stats .ld-stat-amt{margin-top:10px}
  /* Where the link is going, and the share kit (channel links). */
  .ld-iv-where{margin-bottom:14px}
  .ld-iv-hero .ld-chip-filter[aria-pressed="false"]{background:#fff}
  .ld-iv-where-hint{margin:10px 0 0;font-size:12.5px;color:#065F46}
  .ld-kit{border:1px solid var(--ld-line);border-radius:12px;padding:12px 14px;background:#FBFCFE;margin-bottom:10px}
  .ld-kit-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
  .ld-kit-kind{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ld-muted)}
  .ld-kit-text{margin:0;font-size:13.5px;line-height:1.5;color:var(--ld-ink-2);overflow-wrap:anywhere}
  .ld-kit-assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
  .ld-kit-asset{display:block;text-align:left;border:1px solid var(--ld-line);border-radius:12px;padding:12px;background:#fff;color:inherit;text-decoration:none;font:inherit;cursor:pointer}
  .ld-kit-asset:hover{background:var(--ld-bg)}
  .ld-kit-prev{display:grid;place-items:center;height:92px;border-radius:8px;border:1px solid var(--ld-line-2);margin-bottom:9px;overflow:hidden}
  .ld-kit-prev-card{background:url(/brand/social/og-referral-1200x630.png) center/cover no-repeat;font-size:0}
  .ld-kit-prev-qr{background:#fff;padding:8px}
  .ld-kit-prev-qr svg{height:100%;width:auto}
  .ld-kit-name{display:block;font-size:13px;font-weight:700;color:var(--ld-ink)}
  .ld-kit-meta{display:block;font-size:12px;color:var(--ld-muted);margin-top:2px}
  @media (max-width:760px){ .ld-iv-hero{grid-template-columns:minmax(0,1fr);padding:18px} .ld-iv-qr{justify-self:start} .ld-iv-stats{grid-template-columns:minmax(0,1fr);gap:10px} }

  .ld-nw-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
  .ld-nw-level{padding:14px;border-radius:14px;border:1px solid var(--ld-line);background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}
  .ld-nw-level[aria-pressed="true"]{border-color:var(--ld-accent);background:var(--ld-accent-50);box-shadow:0 0 0 3px var(--ld-accent-100)}
  .ld-nw-level-name{font-size:12.5px;font-weight:700;color:var(--ld-muted)}
  .ld-nw-level-count{margin-top:4px;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}
  .ld-nw-level-sub{font-size:12px;color:var(--ld-muted)}
  .ld-nw-member{display:flex;align-items:center;gap:10px;min-width:0}
  .ld-nw-member .ld-avatar{width:32px;height:32px;font-size:12px}
  .ld-nw-member .ld-avatar::after{display:none}
  @media (max-width:1180px){ .ld-nw-levels{grid-template-columns:repeat(3,minmax(0,1fr))} }
  @media (max-width:560px){ .ld-nw-levels{grid-template-columns:repeat(2,minmax(0,1fr))} .ld-nw-member{justify-content:flex-end} }

  .ld-cm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .ld-cm-stats .ld-stat-amt{margin-top:10px}
  @media (max-width:760px){ .ld-cm-stats{grid-template-columns:minmax(0,1fr);gap:10px} .ld-bars{gap:4px} .ld-bar-val{font-size:10px} }

  .ld-mb-form{display:grid;grid-template-columns:minmax(0,1.3fr) auto auto minmax(0,.8fr);gap:14px 16px;align-items:end}
  .ld-mb-form .ld-pick-digit{width:44px;height:46px;font-size:22px}
  .ld-mb-form .ld-field{margin:0}
  .ld-mb-draws{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
  .ld-mb-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
  .ld-mb-total{margin-left:auto;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
  @media (max-width:900px){ .ld-mb-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
  @media (max-width:560px){ .ld-mb-form{grid-template-columns:minmax(0,1fr)} .ld-mb-total{margin-left:0;width:100%} .ld-mb-actions .ld-btn{flex:1} }

  /* Who the ticket is for. A segmented choice, a search and its results are
     far taller than the select this replaced, so it spans the whole form and
     sits above the number, type and stake rather than squashing them into the
     remaining columns. */
  .ld-mb-form #ld-mb-f-who{grid-column:1/-1}
  /* Add a ticket: four steps, four logo colours. The colour is structure, not
     decoration — it marks which of the four things you are doing. */
  .ld-mb-step{position:relative;padding-left:40px;padding-bottom:22px}
  .ld-mb-step:last-of-type{padding-bottom:4px}
  .ld-mb-step::before{content:"";position:absolute;left:13px;top:26px;bottom:0;width:2px;
    background:linear-gradient(var(--sc),transparent);opacity:.35}
  .ld-mb-step:last-of-type::before{display:none}
  .ld-mb-dot{position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;display:grid;
    place-items:center;background:var(--sc);color:#fff;font-weight:800;font-size:13px;
    font-variant-numeric:tabular-nums;box-shadow:0 2px 0 var(--sce)}
  .ld-mb-s1{--sc:var(--ld-t1-bg);--sce:var(--ld-t1-edge)}
  .ld-mb-s2{--sc:var(--ld-t2-bg);--sce:var(--ld-t2-edge)}
  .ld-mb-s3{--sc:var(--ld-t3-bg);--sce:var(--ld-t3-edge)}
  .ld-mb-s4{--sc:var(--ld-accent);--sce:var(--ld-accent-900)}
  .ld-mb-stitle{font-size:15px;font-weight:800;letter-spacing:-.01em;margin:3px 0 2px}
  .ld-mb-shint{font-size:12.5px;color:var(--ld-muted);margin:0 0 12px}

  /* The four digit tiles in the four logo colours, mirroring the four circles.
     White ink on each is the contrast already documented for the prize tiers. */
  .ld-mb-digits4 .ld-pick-digit{color:#fff;border-width:1.5px}
  .ld-mb-d1{background:var(--ld-t1-bg);border-color:var(--ld-t1-bg);box-shadow:inset 0 -4px 0 var(--ld-t1-edge)}
  .ld-mb-d2{background:var(--ld-t2-bg);border-color:var(--ld-t2-bg);box-shadow:inset 0 -4px 0 var(--ld-t2-edge)}
  .ld-mb-d3{background:var(--ld-t3-bg);border-color:var(--ld-t3-bg);box-shadow:inset 0 -4px 0 var(--ld-t3-edge)}
  .ld-mb-d4{background:var(--ld-accent);border-color:var(--ld-accent);box-shadow:inset 0 -4px 0 var(--ld-accent-900)}
  .ld-mb-digits4 .ld-pick-digit::placeholder{color:rgba(255,255,255,.55)}
  .ld-mb-digits4 .ld-pick-digit:focus{border-color:#fff;box-shadow:inset 0 -4px 0 rgba(0,0,0,.25),0 0 0 4px var(--ld-accent-100)}

  .ld-mb-stake{height:52px;font-size:20px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}

  .ld-mb-outcome{display:block;margin-top:12px;padding:11px 14px;border-radius:11px;font-size:12.8px}
  .ld-mb-out-in{background:var(--ld-emerald-bg);border:1px solid var(--ld-emerald-line);color:var(--ld-emerald-ink)}
  .ld-mb-out-out{background:var(--ld-amber-bg);border:1px solid #FDE68A;color:var(--ld-amber-ink)}

  .ld-mb-draw{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15}
  .ld-mb-draw small{font-size:10.5px;font-weight:600;opacity:.7;font-variant-numeric:tabular-nums}
  .ld-mb-draw.ld-is-today[aria-pressed="true"]{background:var(--ld-t1-bg);border-color:var(--ld-t1-bg);color:#fff}

  .ld-mb-cost{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:18px;
    padding:15px 18px;border-radius:13px;color:#fff;
    background:linear-gradient(135deg,var(--ld-indigo-900),var(--ld-accent-700))}
  .ld-mb-cost-l{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;
    text-transform:uppercase;color:var(--ld-accent-200)}
  .ld-mb-cost-v{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em;
    line-height:1.1;font-variant-numeric:tabular-nums}
  .ld-mb-cost-v small{font-size:14px;font-weight:600;margin-left:5px;color:var(--ld-accent-200)}
  .ld-mb-cost-x{display:block;font-size:12.5px;color:var(--ld-accent-200);margin-top:2px;
    font-variant-numeric:tabular-nums}
  .ld-mb-cost .ld-btn{margin-left:auto}
  @media (max-width:560px){
    .ld-mb-step{padding-left:34px}
    .ld-mb-dot{width:24px;height:24px;font-size:12px}
    .ld-mb-step::before{left:11px}
    .ld-mb-cost .ld-btn{margin-left:0;width:100%}
  }

  /* A written ticket opens in the drawer, the way a player's own ticket does,
     because a Box covers up to 24 numbers and listing them all in the row
     would bury the list it sits in. */
  .ld-mb-recent-row{cursor:pointer}
  .ld-mb-recent-row:hover{background:var(--ld-bg)}
  .ld-mb-recent-row:focus-visible{outline:2px solid var(--ld-accent);outline-offset:-2px}
  .ld-mb-recent-row .ld-mb-open{color:var(--ld-faint);font-size:12px;white-space:nowrap}

  /* Transfer. Three steps in the logo's colours, same idea as Add a ticket:
     the colour marks which of the three things you are doing. */
  .ld-tr-bal{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;padding:18px 20px;
    border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--ld-indigo-900),var(--ld-accent-700))}
  .ld-tr-bal-l{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ld-accent-200)}
  .ld-tr-bal-v{font-size:33px;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-top:3px}
  .ld-tr-bal-v small{font-size:15px;font-weight:600;margin-left:6px;color:var(--ld-accent-200)}
  .ld-tr-bal-side{margin-left:auto;font-size:12.5px;color:var(--ld-accent-200);text-align:right}

  .ld-tr-step{position:relative;padding-left:40px;padding-bottom:24px}
  .ld-tr-step:last-of-type{padding-bottom:0}
  .ld-tr-step::before{content:"";position:absolute;left:13px;top:26px;bottom:0;width:2px;
    background:linear-gradient(var(--sc),transparent);opacity:.35}
  .ld-tr-step:last-of-type::before{display:none}
  .ld-tr-dot{position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;display:grid;
    place-items:center;background:var(--sc);color:#fff;font-weight:800;font-size:13px;
    font-variant-numeric:tabular-nums;box-shadow:0 2px 0 var(--sce)}
  .ld-tr-s1{--sc:var(--ld-t1-bg);--sce:var(--ld-t1-edge)}
  .ld-tr-s2{--sc:var(--ld-t2-bg);--sce:var(--ld-t2-edge)}
  .ld-tr-s3{--sc:var(--ld-accent);--sce:var(--ld-accent-900)}
  .ld-tr-stitle{font-size:15px;font-weight:800;letter-spacing:-.01em;margin:3px 0 2px}
  .ld-tr-shint{font-size:12.5px;color:var(--ld-muted);margin:0 0 12px}

  .ld-tr-hits{display:grid;gap:8px}
  .ld-tr-hits:not(:empty){margin-top:10px}
  .ld-tr-hit{display:flex;gap:11px;align-items:center;width:100%;padding:10px 13px;text-align:left;
    border:1px solid var(--ld-line);border-radius:12px;background:#fff;font:inherit;color:inherit;cursor:pointer}
  .ld-tr-hit:hover{border-color:var(--ld-accent-200);background:var(--ld-hover)}
  .ld-tr-hit:focus-visible{outline:2px solid var(--ld-accent);outline-offset:2px}
  .ld-tr-hit.ld-is-off{opacity:.55;cursor:not-allowed}
  .ld-tr-hit b{display:block;font-size:14px}
  .ld-tr-hit small{display:block;font-size:11.5px;color:var(--ld-muted)}
  .ld-tr-av{width:34px;height:34px;border-radius:50%;background:var(--ld-accent);color:#fff;flex:none;
    display:grid;place-items:center;font-weight:800;font-size:14px}

  .ld-tr-who{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:13px 15px;
    border:1px solid var(--ld-emerald-line);background:var(--ld-emerald-bg);border-radius:13px}
  .ld-tr-who .ld-tr-av{width:40px;height:40px;font-size:16px}
  .ld-tr-name{font-weight:800;font-size:15px}
  .ld-tr-sub{font-size:12.5px;color:var(--ld-emerald-ink);margin-top:1px}
  .ld-tr-who .ld-link{margin-left:auto}

  .ld-tr-amt{height:62px;font-size:28px;font-weight:800}
  .ld-tr-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
  .ld-tr-chip{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--ld-line);
    background:#fff;font:inherit;font-size:13px;font-weight:700;color:var(--ld-ink-2);cursor:pointer;
    font-variant-numeric:tabular-nums}
  .ld-tr-chip:hover{border-color:var(--ld-accent-200)}

  .ld-tr-sum{margin-top:14px;border:1px solid var(--ld-line);border-radius:12px;overflow:hidden}
  .ld-tr-sum:empty{display:none}
  .ld-tr-sum-row{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;font-size:13.5px;
    border-bottom:1px solid var(--ld-line-2)}
  .ld-tr-sum-row:last-child{border-bottom:0;background:var(--ld-hover);font-weight:800}
  .ld-tr-sum-row span{color:var(--ld-muted)}

  .ld-tr-warn{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:13px;
    background:var(--ld-rose-bg);border:1px solid #FECDD3;color:var(--ld-rose-ink)}
  .ld-tr-actions{margin-top:16px}

  .ld-tr-rule{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-size:13px;
    border-bottom:1px solid var(--ld-line-2)}
  .ld-tr-rule:last-child{border-bottom:0}
  .ld-tr-yes{color:var(--ld-emerald-ink);font-weight:800;flex:none}
  .ld-tr-no{color:var(--ld-rose-ink);font-weight:800;flex:none}

  .ld-tr-dir{font-weight:700;font-size:12.5px;white-space:nowrap}
  .ld-tr-out{color:var(--ld-rose-ink);font-weight:700}
  .ld-tr-in{color:var(--ld-emerald-ink);font-weight:700}
  .ld-tr-ref{font-size:11.5px;color:var(--ld-muted);font-variant-numeric:tabular-nums}

  @media (max-width:560px){
    .ld-tr-step{padding-left:34px}
    .ld-tr-dot{width:24px;height:24px;font-size:12px}
    .ld-tr-step::before{left:11px}
    .ld-tr-bal-side{margin-left:0;text-align:left;width:100%}
    .ld-tr-amt{font-size:24px;height:56px}
  }

  .ld-mb-hits{display:grid;gap:8px;margin-top:10px}
  .ld-mb-hits:empty{margin-top:0}
  .ld-mb-hit{display:flex;gap:11px;align-items:flex-start;padding:10px 13px;border:1px solid var(--ld-line);border-radius:12px;background:var(--ld-surface-2,transparent);cursor:pointer}
  .ld-mb-hit:hover{border-color:var(--ld-accent,#4F46E5)}
  .ld-mb-hit:focus-within{outline:2px solid var(--ld-accent,#4F46E5);outline-offset:2px}
  .ld-mb-hit input{margin:2px 0 0;width:17px;height:17px;flex:none}
  .ld-mb-hit strong{display:block;font-size:14.5px;word-break:break-word}

  .ld-fact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
  .ld-fact{padding:12px 14px;border-radius:12px;background:var(--ld-bg);border:1px solid var(--ld-line-2)}
  .ld-fact-val{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
  .ld-fact-label{font-size:12.5px;color:var(--ld-muted)}
  /* Used by both applications and, until now, by neither stylesheet: a panel
     waiting on a request, and a table with nothing in it. Both were bare divs
     against the panel's edge, which reads as a broken page rather than an
     empty one. */
  .ld-loading{padding:28px 20px;text-align:center;color:var(--ld-muted);font-size:13.5px}
  .ld-table-empty{padding:24px 20px;text-align:center;color:var(--ld-muted);font-size:13.5px}
  td.ld-table-empty{display:table-cell}
  /* More than one action beside a page title. */
  .ld-page-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  /* A column header that sorts the table under it. */
  .ld-sortable{background:none;border:0;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px}
  .ld-sortable:hover{color:var(--ld-accent)}
  .ld-calc{margin-top:16px;padding:16px;border-radius:14px;border:1px solid var(--ld-accent-100);background:var(--ld-accent-50)}
  .ld-calc-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px}
  .ld-calc .ld-pick-digit{width:46px;height:54px;font-size:26px}
  .ld-calc-out{margin-top:14px}
  .ld-calc-summary{font-size:14px;color:var(--ld-ink-2)}
  .ld-calc-summary strong{color:var(--ld-ink)}
  .ld-calc .ld-chips{grid-template-columns:repeat(8,minmax(0,1fr));margin-top:10px}
  .ld-calc .ld-chip{background:#fff}
  .ld-example{padding:14px;border-radius:12px;border:1px solid var(--ld-line-2)}
  .ld-example + .ld-example{margin-top:10px}
  .ld-example-title{font-weight:700;margin-bottom:4px}
  .ld-example p{margin:0;font-size:13.5px;color:var(--ld-ink-2)}
  @media (max-width:760px){ .ld-fact-row{grid-template-columns:minmax(0,1fr)} .ld-calc .ld-chips{grid-template-columns:repeat(4,minmax(0,1fr))} }

  .ld-st-profile-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
  .ld-st-profile-head .ld-avatar{width:56px;height:56px;font-size:20px}
  .ld-st-verified{display:flex;align-items:center;gap:8px}
  .ld-st-verified .ld-input{flex:1}
  .ld-st-2fa{display:flex;align-items:flex-start;gap:14px}
  .ld-st-2fa .ld-dot-ico{width:44px;height:44px}
  .ld-st-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
  .ld-st-codes li{padding:8px 10px;border-radius:8px;background:var(--ld-bg);border:1px solid var(--ld-line-2);text-align:center;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums}
  .ld-st-session{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-st-session:last-child{border-bottom:0}
  .ld-st-session .ld-dot-ico{width:38px;height:38px}
  .ld-st-notif th:not(:first-child),.ld-st-notif td:not(:first-child){text-align:center;width:90px}
  .ld-st-notif td:not(:first-child) .ld-switch{margin:0 auto}
  @media (max-width:560px){ .ld-st-session{padding:12px 16px;flex-wrap:wrap} .ld-st-notif td:not(:first-child){width:auto} .ld-st-notif td{justify-content:space-between} }

  .ld-rp-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
  .ld-rp-summary > div{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--ld-line)}
  .ld-rp-summary dt{font-size:12.5px;color:var(--ld-muted);font-weight:600}
  .ld-rp-summary dd{margin:2px 0 0;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
  .ld-rp-limit{padding:16px 0;border-bottom:1px solid var(--ld-line-2)}
  .ld-rp-limit:first-child{padding-top:0}
  .ld-rp-limit:last-child{border-bottom:0;padding-bottom:0}
  .ld-rp-limit-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;align-items:center}
  .ld-rp-limit .ld-input-affix .ld-input{padding-right:62px;height:44px;font-weight:700;font-variant-numeric:tabular-nums}
  .ld-rp-limit .ld-affix{color:var(--ld-muted);font-size:13px;font-weight:600;padding-right:8px}
  /* The reference reports a bad amount once, under the Save button. The live
     page also marks the row it came from, which needs the same two rules a
     field gets. */
  .ld-rp-limit.ld-is-invalid .ld-input{border-color:var(--ld-rose)}
  .ld-rp-limit.ld-is-invalid .ld-field-error{display:block;margin-top:8px}
  .ld-rp-pending{margin-top:10px}
  .ld-rp-active{margin-bottom:16px}
  .ld-rp-preview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ld-rp-preview-stats > div{padding:10px;border-radius:10px;background:var(--ld-bg);text-align:center}
  .ld-rp-preview-stats strong{display:block;font-size:17px;font-variant-numeric:tabular-nums}
  .ld-rp-preview-stats span{font-size:12px;color:var(--ld-muted)}
  @media (max-width:900px){ .ld-rp-summary{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (max-width:560px){ .ld-rp-limit-row{grid-template-columns:minmax(0,1fr)} .ld-rp-summary dd{font-size:16px} }

  .ld-hp-search{position:relative;margin-bottom:14px}
  .ld-hp-search .ld-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ld-faint);pointer-events:none}
  .ld-hp-search .ld-input{height:50px;padding-left:42px;font-size:15px}
  .ld-hp-cat{margin:22px 0 10px;font-size:14px;font-weight:700;color:var(--ld-ink-2)}
  .ld-hp-cat:first-child{margin-top:0}
  .ld-hp-request{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-hp-request:last-child{border-bottom:0}
  @media (max-width:560px){ .ld-hp-request{padding:12px 16px;flex-wrap:wrap} }

  /* ---------- Shared: tickets and results ---------- */
  .ld-toast{pointer-events:none}
  .ld-seg-count{display:inline-grid;place-items:center;min-width:20px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:rgba(15,23,42,.06);color:var(--ld-muted);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
  .ld-seg-btn[aria-pressed="true"] .ld-seg-count{background:var(--ld-accent-50);color:var(--ld-accent)}
  .ld-search{position:relative;flex:1 1 180px;min-width:0;max-width:260px}
  .ld-search .ld-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ld-faint);pointer-events:none}
  .ld-search .ld-input{height:40px;padding-left:36px;font-size:14px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
  .ld-select-sm,.ld-mt-select,.ld-rs-select{height:40px;font-size:14px;width:auto;flex:0 1 auto;min-width:0}
  .ld-section-label{display:flex;align-items:center;gap:10px;margin:22px 0 10px;font-size:13px;font-weight:700;color:var(--ld-ink-2)}
  .ld-section-label::after{content:"";flex:1;height:1px;background:var(--ld-line)}
  .ld-section-label:first-child{margin-top:0}
  .ld-empty-inline{padding:40px 24px;text-align:center;color:var(--ld-muted)}
  .ld-empty-inline .ld-dot-ico{margin:0 auto 12px}
  .ld-empty-inline strong{display:block;margin-bottom:4px;color:var(--ld-ink);font-size:15px}
  .ld-chip.ld-is-mine{background:var(--ld-emerald-bg);border-color:var(--ld-emerald-line);color:var(--ld-emerald-ink);font-weight:700}
  .ld-digits.ld-is-mine .ld-digit{border-color:var(--ld-emerald-line);background:var(--ld-emerald-bg);color:var(--ld-emerald-ink);box-shadow:inset 0 -3px 0 #D1FAE5}

  /* Drawer (ticket details) */
  .ld-drawer{position:fixed;inset:0;z-index:95}
  .ld-drawer-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.4)}
  .ld-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);display:flex;flex-direction:column;background:#fff;box-shadow:-24px 0 48px -24px rgba(15,23,42,.35);animation:ld-drawer-in .22s ease-out}
  @keyframes ld-drawer-in{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
  .ld-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-drawer-title{margin:0;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
  .ld-drawer-title:focus{outline:none}
  .ld-drawer-body{flex:1;overflow-y:auto;padding:20px}
  .ld-drawer-foot{display:flex;flex-wrap:wrap;gap:10px;padding:14px 20px;border-top:1px solid var(--ld-line-2)}
  .ld-drawer-foot .ld-btn{flex:1}
  .ld-dr-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
  .ld-dr-type{margin-top:6px;font-size:13.5px;font-weight:600;color:var(--ld-ink-2)}
  .ld-outcome{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;border:1px solid var(--ld-line-2);background:var(--ld-bg);margin-bottom:18px}
  .ld-outcome .ld-dot-ico{width:36px;height:36px;background:#fff}
  .ld-outcome-title{font-weight:700;font-size:15px}
  .ld-outcome-text{margin-top:2px;font-size:13px;color:var(--ld-muted)}
  .ld-outcome-hits{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:var(--ld-ink-2)}
  .ld-outcome-hits li{padding:2px 0;font-variant-numeric:tabular-nums}
  .ld-outcome.ld-is-won{background:var(--ld-emerald-bg);border-color:var(--ld-emerald-line)}
  .ld-outcome.ld-is-won .ld-outcome-title{color:var(--ld-emerald-ink)}
  .ld-outcome.ld-is-open{background:var(--ld-sky-bg);border-color:#BAE6FD}
  .ld-outcome.ld-is-verifying{background:var(--ld-amber-bg);border-color:#FDE68A}
  .ld-dr-dl{margin:0 0 18px;border:1px solid var(--ld-line-2);border-radius:12px}
  .ld-dr-dl > div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 12px;border-bottom:1px solid var(--ld-line-2);font-size:13.5px}
  .ld-dr-dl > div:last-child{border-bottom:0}
  .ld-dr-dl dt{color:var(--ld-muted)}
  .ld-dr-dl dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
  .ld-dr-dl dd small{display:block;font-weight:500;font-size:12px;color:var(--ld-muted)}
  .ld-dr-id{display:inline-flex;align-items:center;gap:6px}
  .ld-dr-id .ld-icon-btn{width:28px;height:28px;color:var(--ld-muted)}
  .ld-dr-perms-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--ld-ink-2)}
  .ld-dr-perms-head span:last-child{font-weight:500;color:var(--ld-muted)}
  .ld-dr-perms{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
  .ld-dr-perms .ld-chip{height:32px}
  .ld-dr-perms .ld-chip small{display:none}

  /* ---------- My tickets page ---------- */
  .ld-mt-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
  .ld-mt-stats .ld-stat-amt{margin-top:14px}
  .ld-mt-stats .ld-stat-foot{margin-top:2px}
  .ld-mt-month{margin:12px 0 0;display:flex;flex-direction:column;gap:4px}
  .ld-mt-month > div{display:flex;justify-content:space-between;gap:12px;font-size:13.5px}
  .ld-mt-month dt{color:var(--ld-muted)}
  .ld-mt-month dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
  .ld-mt-month .ld-mt-net{margin-top:4px;padding-top:8px;border-top:1px solid var(--ld-line-2)}
  .ld-mt-month .ld-mt-net dt{color:var(--ld-ink);font-weight:700}
  .ld-mt-month .ld-mt-net dd{font-weight:800}

  .ld-mt-filters{padding:14px 16px;margin-bottom:18px}
  .ld-mt-status-wrap{overflow-x:auto;scrollbar-width:none;margin:-2px -2px 12px;padding:2px}
  .ld-mt-status-wrap::-webkit-scrollbar{display:none}
  .ld-mt-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
  .ld-mt-showing{margin:10px 0 0;font-size:12.5px;color:var(--ld-muted)}

  .ld-mt-group{margin-bottom:14px}
  .ld-mt-ghead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;padding:14px 20px;border-bottom:1px solid var(--ld-line-2)}
  .ld-mt-gtitle{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0}
  .ld-mt-gtitle h2{margin:0;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
  .ld-mt-gwhen{font-size:13px;color:var(--ld-muted)}
  .ld-mt-gstate{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:13px}
  .ld-mt-countdown{font-weight:700;font-variant-numeric:tabular-nums}
  .ld-mt-rows{list-style:none;margin:0;padding:0}
  .ld-mt-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(104px,auto) 20px;grid-template-areas:"num main status amt go";align-items:center;column-gap:16px;width:100%;padding:12px 20px;border:0;border-bottom:1px solid var(--ld-line-2);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
  .ld-mt-rows li:last-child .ld-mt-row{border-bottom:0}
  .ld-mt-row:hover{background:var(--ld-bg)}
  .ld-mt-row:focus-visible{outline-offset:-2px}
  .ld-mt-row .ld-digits{grid-area:num}
  .ld-mt-main{grid-area:main;min-width:0}
  .ld-mt-title{font-weight:600}
  .ld-mt-sub{font-size:12.5px;color:var(--ld-muted);overflow-wrap:anywhere}
  .ld-mt-status{grid-area:status}
  .ld-mt-amt{grid-area:amt;text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ld-mt-amt small{display:block;font-size:11.5px;font-weight:500;color:var(--ld-muted)}
  .ld-mt-amt.ld-is-won{color:var(--ld-emerald-ink)}
  .ld-mt-go{grid-area:go;width:18px;height:18px;color:var(--ld-faint)}
  .ld-mt-gfoot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding:10px 20px;border-top:1px solid var(--ld-line-2);background:var(--ld-bg);border-radius:0 0 14px 14px;font-size:12.5px;color:var(--ld-muted)}
  .ld-mt-gfoot strong{color:var(--ld-ink-2);font-variant-numeric:tabular-nums}
  .ld-mt-gfoot .ld-mt-won{color:var(--ld-emerald-ink)}
  .ld-mt-more-wrap{text-align:center;margin:4px 0 8px}

  @media (max-width:1180px){
    .ld-mt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ld-mt-stats .ld-stat:last-child{grid-column:span 2}
  }
  @media (max-width:560px){
    .ld-mt-stats{grid-template-columns:minmax(0,1fr);gap:12px}
    .ld-mt-stats .ld-stat:last-child{grid-column:auto}
    .ld-mt-filters{padding:12px}
    .ld-search{max-width:none;flex-basis:100%}
    .ld-mt-select{flex:1 1 0}
    .ld-mt-ghead{padding:12px 16px}
    .ld-mt-row{grid-template-columns:auto minmax(0,1fr) auto 16px;grid-template-areas:"num main amt go" "num status amt go";row-gap:4px;column-gap:12px;padding:12px 16px}
    .ld-mt-status{justify-self:start}
    .ld-mt-status:empty{display:none}
    .ld-mt-gfoot{padding:10px 16px}
    .ld-drawer-panel{top:auto;left:0;width:100%;max-height:90vh;border-radius:18px 18px 0 0;animation-name:ld-sheet-in}
    @keyframes ld-sheet-in{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
    .ld-dr-perms{grid-template-columns:repeat(4,minmax(0,1fr))}
  }


  /* ---------- Results page ---------- */
  .ld-rs-verifying{margin:0 0 16px;background:var(--ld-amber-bg);color:var(--ld-amber-ink)}
  .ld-rs-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}
  .ld-rs-col{display:flex;flex-direction:column;gap:16px;min-width:0}

  .ld-rs-fhead{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px 12px;padding:14px 16px;border-bottom:1px solid var(--ld-line-2)}
  .ld-rs-ftitle{min-width:0;text-align:center}
  .ld-rs-ftitle h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
  .ld-rs-ftitle h2:focus{outline:none}
  .ld-rs-when{display:block;font-size:13px;color:var(--ld-muted)}
  .ld-rs-nav{border:1px solid var(--ld-line)}
  .ld-rs-nav:disabled{opacity:.35;cursor:default;background:none}
  .ld-rs-fstate{justify-self:end}
  .ld-rs-body{padding:18px 20px 20px}
  .ld-rs-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .ld-rs-prize{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px 14px;border-radius:14px;border:1px solid var(--ld-line-2);background:var(--ld-bg);text-align:center;min-width:0}
  .ld-rs-prize.ld-rs-first{background:var(--ld-accent-50);border-color:var(--ld-accent-100)}
  .ld-rs-prize-name{font-size:13px;font-weight:700}
  .ld-rs-prize-rate{font-size:12px;color:var(--ld-muted);font-variant-numeric:tabular-nums}
  .ld-rs-prize.ld-is-mine{background:var(--ld-emerald-bg);border-color:var(--ld-emerald-line)}
  .ld-rs-prize .ld-digits{gap:4px}
  .ld-rs-prize .ld-digit{width:32px;height:40px;font-size:21px;border-radius:8px}
  .ld-rs-mine{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:16px;padding:12px 14px;border-radius:12px;border:1px solid var(--ld-line-2);background:var(--ld-bg);font-size:13.5px}
  .ld-rs-mine.ld-is-won{background:var(--ld-emerald-bg);border-color:var(--ld-emerald-line);color:#065F46}
  .ld-rs-mine-text{display:flex;align-items:center;gap:10px}
  .ld-rs-mine-text .ld-dot-ico{width:30px;height:30px;background:#fff}
  .ld-rs-tier{margin-top:18px}
  .ld-rs-tier-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px}
  .ld-rs-tier-head span:first-child{font-weight:700}
  .ld-rs-tier-head span:last-child{color:var(--ld-muted);font-variant-numeric:tabular-nums}
  .ld-rs-legend{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;color:var(--ld-muted)}
  .ld-rs-legend::before{content:"";width:14px;height:14px;border-radius:4px;background:var(--ld-emerald-bg);border:1px solid var(--ld-emerald-line)}
  .ld-rs-verify{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--ld-line-2);font-size:12.5px;color:var(--ld-muted)}
  .ld-rs-verify .ld-ico{margin-top:1px;color:var(--ld-emerald)}
  .ld-rs-verify strong{color:var(--ld-ink-2);font-weight:600}

  .ld-rs-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 16px;border-bottom:1px solid var(--ld-line-2)}
  .ld-rs-mine-toggle{font-size:13px;white-space:nowrap}
  .ld-rs-list{list-style:none;margin:0;padding:0}
  .ld-rs-row{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(0,auto) 18px;align-items:center;gap:14px;width:100%;padding:11px 16px;border:0;border-bottom:1px solid var(--ld-line-2);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
  .ld-rs-row:hover{background:var(--ld-bg)}
  .ld-rs-row:focus-visible{outline-offset:-2px}
  .ld-rs-row[aria-current="true"]{background:var(--ld-accent-50);box-shadow:inset 3px 0 0 var(--ld-accent)}
  .ld-rs-row-no{font-weight:700;font-variant-numeric:tabular-nums}
  .ld-rs-row-date{display:block;font-size:12.5px;color:var(--ld-muted)}
  .ld-rs-row-top{display:flex;gap:10px}
  .ld-rs-row-mine{justify-self:end}
  .ld-rs-row .ld-ico{width:18px;height:18px;color:var(--ld-faint)}
  .ld-rs-more-wrap{padding:12px 16px 16px;text-align:center}
  .ld-rs-list-empty{padding:28px 16px;text-align:center;color:var(--ld-muted)}

  .ld-rs-check-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
  .ld-rs-check-row .ld-pick-digit{width:46px;height:54px;font-size:26px}
  .ld-rs-check-row .ld-btn{height:54px;padding:0 18px}
  .ld-rs-out-summary{margin:14px 0 8px;font-size:13.5px;font-weight:600}
  .ld-rs-hits{list-style:none;margin:0;padding:0;border:1px solid var(--ld-line-2);border-radius:12px}
  .ld-rs-hit{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--ld-line-2);font-size:13px}
  .ld-rs-hit:last-child{border-bottom:0}
  .ld-rs-hit strong{font-variant-numeric:tabular-nums}
  .ld-rs-hit-sub{display:block;font-size:12px;color:var(--ld-muted)}
  .ld-rs-hit .ld-link{font-size:13px;white-space:nowrap}

  .ld-rs-next-cd{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
  .ld-rs-next-num{font-size:30px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ld-accent-950)}
  .ld-rs-next-cap{font-size:13px;color:var(--ld-muted)}
  .ld-rs-next-meta{margin:6px 0 14px;font-size:13px;color:var(--ld-muted)}
  .ld-rs-next-meta strong{color:var(--ld-ink-2)}
  .ld-rs-table{width:100%;border-collapse:collapse;font-size:13.5px}
  .ld-rs-table th{padding:0 0 8px;text-align:left;font-size:12px;font-weight:600;color:var(--ld-muted)}
  .ld-rs-table th:nth-child(n+2),.ld-rs-table td:nth-child(n+2){text-align:right}
  .ld-rs-table td{padding:8px 0;border-top:1px solid var(--ld-line-2);font-variant-numeric:tabular-nums}
  .ld-rs-table td:first-child{font-weight:600}
  .ld-rs-table td:last-child{font-weight:700}

  @media (min-width:1181px) and (max-width:1320px){
    .ld-rs-prize .ld-digits{gap:3px}
    .ld-rs-prize .ld-digit{width:28px;height:36px;font-size:19px;border-radius:7px}
  }
  @media (max-width:1180px){
    .ld-rs-grid{grid-template-columns:minmax(0,1fr)}
    .ld-rs-prize .ld-digit{width:38px;height:48px;font-size:25px;border-radius:9px}
  }
  @media (max-width:860px){
    .ld-rs-row-top .ld-digits:nth-child(n+2){display:none}
    .ld-rs-top{grid-template-columns:minmax(0,1fr)}
    .ld-rs-prize{flex-direction:row;justify-content:space-between;padding:12px 14px;text-align:left}
    .ld-rs-prize .ld-digit{width:42px;height:50px;font-size:27px}
  }
  @media (max-width:560px){
    .ld-rs-fhead{grid-template-columns:auto minmax(0,1fr) auto;padding:12px}
    .ld-rs-fstate{grid-column:1 / -1;justify-self:center}
    .ld-rs-ftitle h2{font-size:18px}
    .ld-rs-body{padding:14px}
    .ld-rs-prize .ld-digit{width:36px;height:44px;font-size:23px}
    .ld-rs-filters{padding:12px}
    .ld-rs-select{flex:1 1 40%}
    .ld-rs-row{grid-template-columns:minmax(0,1fr) auto 16px;padding:11px 12px}
    .ld-rs-row-top{display:none}
    .ld-rs-check-row .ld-pick-digit{width:44px;height:52px}
    .ld-rs-check-row .ld-btn{height:52px;flex:1}
  }


  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
  }

  /* ---------- Prize tiers: 1st red chilli, 2nd gold, 3rd purple ----------
     One class on the row sets four properties, and the rank badge and the four
     digit tiles both read them — so a tier is described once, in one place,
     rather than a colour repeated on every element that shows it. White ink
     sits on each at 5.9:1, 4.9:1 and 7.0:1. */
  :root{
    --ld-t1-bg:#C0261A; --ld-t1-line:#C0261A; --ld-t1-edge:#8A1B12; --ld-t1-ink:#FFFFFF;
    --ld-t2-bg:#A16207; --ld-t2-line:#A16207; --ld-t2-edge:#6E4204; --ld-t2-ink:#FFFFFF;
    --ld-t3-bg:#7E22CE; --ld-t3-line:#7E22CE; --ld-t3-edge:#581C87; --ld-t3-ink:#FFFFFF;
  }
  .ld-prize-tier-1{--ld-tb:var(--ld-t1-bg);--ld-tl:var(--ld-t1-line);--ld-te:var(--ld-t1-edge);--ld-ti:var(--ld-t1-ink)}
  .ld-prize-tier-2{--ld-tb:var(--ld-t2-bg);--ld-tl:var(--ld-t2-line);--ld-te:var(--ld-t2-edge);--ld-ti:var(--ld-t2-ink)}
  .ld-prize-tier-3{--ld-tb:var(--ld-t3-bg);--ld-tl:var(--ld-t3-line);--ld-te:var(--ld-t3-edge);--ld-ti:var(--ld-t3-ink)}
  .ld-prize-label{display:flex;align-items:center;gap:10px;min-width:0}
  .ld-prize-rank{width:26px;height:26px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--ld-tb);color:var(--ld-ti);box-shadow:inset 0 0 0 1.5px var(--ld-tl)}
  .ld-prize-tier .ld-digit{background:var(--ld-tb);border:1.5px solid var(--ld-tl);box-shadow:inset 0 -3px 0 var(--ld-te);color:var(--ld-ti)}

  /* ---------- Left menu: midnight ----------
     Only the left menu changes; the top bar, the pages and the collapsed-menu
     popout stay light. The menu's own colours go through --ld-sbd-*, which the
     console redefines to the same midnight treatment in its own accent — the
     one difference that tells you which of the two apps you are in. */
  :root{
    --ld-sbd-bg:#1E1B4B;          /* menu background */
    --ld-sbd-text:#C7D2FE;        /* menu items and icons, 10.7:1 */
    --ld-sbd-muted:#A5B4FC;       /* group labels and sub-items, 8.0:1 */
    --ld-sbd-hover:rgba(255,255,255,.08);
    --ld-sbd-line:rgba(255,255,255,.1);
    --ld-sbd-active:#6366F1;      /* selected item, 3.6:1 against the menu; white text 4.5:1 */
    --ld-sbd-guide:#818CF8;       /* selected sub-item marker */
  }
  .ld-sb{background:var(--ld-sbd-bg);border-right-color:var(--ld-sbd-bg);color:var(--ld-sbd-text);scrollbar-color:rgba(255,255,255,.2) transparent}
  .ld-sb-head{border-bottom-color:var(--ld-sbd-line)}
  .ld-sb-foot{border-top-color:var(--ld-sbd-line)}
  .ld-sb .ld-brand-mark{background:var(--ld-sbd-active);color:#fff}
  .ld-sb .ld-brand-name{color:#fff}
  .ld-sb .ld-brand-sub{color:var(--ld-sbd-muted)}
  .ld-sb .ld-icon-btn{color:var(--ld-sbd-text)}
  .ld-sb .ld-icon-btn:hover{background:var(--ld-sbd-hover);color:#fff}
  .ld-sb :focus-visible{outline-color:#fff}
  .ld-nav-group-label{color:var(--ld-sbd-muted)}
  .ld-nav-link{color:var(--ld-sbd-text)}
  .ld-nav-link:hover{background:var(--ld-sbd-hover);color:#fff}
  .ld-nav-link.ld-is-active,.ld-nav-link.ld-is-active:hover{background:var(--ld-sbd-active);color:#fff}
  .ld-nav-parent.ld-is-current{color:#fff}
  .ld-sb .ld-caret{color:var(--ld-sbd-muted)}
  .ld-sub-link{color:var(--ld-sbd-muted)}
  .ld-sub-link::before{background:var(--ld-sbd-line)}
  .ld-sub-link:hover{background:var(--ld-sbd-hover);color:#fff}
  .ld-sub-link.ld-is-active{color:#fff;background:var(--ld-sbd-hover)}
  .ld-sub-link.ld-is-active::before{background:var(--ld-sbd-guide)}
  .ld-sb .ld-nav-count{background:rgba(125,211,252,.16);color:#7DD3FC}
  @media (min-width:961px){
    .ld-app.ld-is-collapsed .ld-nav-parent.ld-is-current{background:var(--ld-sbd-hover);color:#fff}
    .ld-app.ld-is-collapsed .ld-nav-group-label{background:var(--ld-sbd-line)}
    .ld-app.ld-is-collapsed .ld-nav-group-label:first-child{background:transparent}
  }

  /* ---------- The loader ----------
     The four balls of the mark, gathering and pulsing. It replaces the word
     "Loading…", which said nothing and looked like a page that had given up.
     Mono for use inside a button, where it has to take the button's own
     colour, and a fade rather than motion for anyone who asked for less of it. */
  /* ---------- fourdigits loader ---------- */
    .ld-loader{--ld-loader-size:40px;position:relative;display:inline-block;flex-shrink:0;width:var(--ld-loader-size);height:var(--ld-loader-size);vertical-align:middle}
    .ld-loader-ball{position:absolute;width:44%;height:44%;border-radius:50%;animation:ld-loader-pulse 1.2s ease-in-out infinite}
    .ld-loader-ball:nth-child(1){top:0;left:0;background:#C0261A}
    .ld-loader-ball:nth-child(2){top:0;right:0;background:#F2B200;animation-delay:.15s}
    .ld-loader-ball:nth-child(3){bottom:0;right:0;background:#4F46E5;animation-delay:.3s}
    .ld-loader-ball:nth-child(4){bottom:0;left:0;background:#7E22CE;animation-delay:.45s}
    @keyframes ld-loader-pulse{0%,60%,100%{transform:scale(.6);opacity:.5}30%{transform:scale(1);opacity:1}}
    .ld-loader-spin{animation:ld-loader-rotate 1.6s cubic-bezier(.65,0,.35,1) infinite}
    .ld-loader-spin .ld-loader-ball{animation:ld-loader-gather 1.6s cubic-bezier(.65,0,.35,1) infinite}
    .ld-loader-spin .ld-loader-ball:nth-child(1){--ld-dx:34%;--ld-dy:34%}
    .ld-loader-spin .ld-loader-ball:nth-child(2){--ld-dx:-34%;--ld-dy:34%}
    .ld-loader-spin .ld-loader-ball:nth-child(3){--ld-dx:-34%;--ld-dy:-34%}
    .ld-loader-spin .ld-loader-ball:nth-child(4){--ld-dx:34%;--ld-dy:-34%}
    @keyframes ld-loader-rotate{to{transform:rotate(360deg)}}
    @keyframes ld-loader-gather{0%,100%{transform:translate(0,0)}50%{transform:translate(var(--ld-dx),var(--ld-dy)) scale(.82)}}
    .ld-loader-on-dark .ld-loader-ball:nth-child(3){background:#818CF8}
    .ld-loader-mono .ld-loader-ball{background:currentColor !important}
    .ld-loader-sm{--ld-loader-size:18px}
    .ld-loader-lg{--ld-loader-size:64px}
    @media (prefers-reduced-motion:reduce){
      .ld-loader-spin{animation:none}
      .ld-loader-ball,.ld-loader-spin .ld-loader-ball{animation:ld-loader-fade 2s ease-in-out infinite;transform:none}
      @keyframes ld-loader-fade{0%,100%{opacity:1}50%{opacity:.45}}
    }


  /* ---------- Commission rates, by level ----------
     The most important thing on the commissions screen, and it used to be a
     four-column table inside .ld-table-wrap: a horizontal scrollbar on a phone
     for three short facts per level, with the two rates distinguished only by
     which column they sat in. One card per level instead, each rate labelled
     and coloured — indigo for the share of stakes, green for the share of
     winnings — so the pair reads without a header row. */
  .ld-lvl-list{display:grid;gap:10px;padding:14px 20px 16px}
  .ld-lvl{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;
    padding:14px 16px;border-radius:14px;background:var(--ld-bg);border:1px solid var(--ld-line)}
  .ld-lvl-first{background:linear-gradient(180deg,var(--ld-accent-50),#fff);border-color:var(--ld-accent-200)}
  .ld-lvl-badge{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
    background:var(--ld-accent-100);color:var(--ld-accent-900);font-weight:800;font-size:15px}
  .ld-lvl-first .ld-lvl-badge{background:var(--ld-accent);color:#fff}
  .ld-lvl-name{font-weight:700;font-size:14px;color:var(--ld-ink)}
  .ld-lvl-members{font-size:12px;color:var(--ld-muted);margin-top:2px}
  .ld-lvl-rates{display:flex;gap:10px}
  .ld-lvl-rate{min-width:96px;text-align:right;padding:8px 12px;border-radius:12px;
    background:#fff;border:1px solid var(--ld-line)}
  .ld-lvl-rate-val{display:block;font-size:17px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
  .ld-lvl-rate-lab{display:block;font-size:11px;color:var(--ld-muted);margin-top:2px}
  .ld-lvl-stake .ld-lvl-rate-val{color:var(--ld-accent-700)}
  .ld-lvl-win{background:var(--ld-emerald-bg);border-color:var(--ld-emerald-line)}
  .ld-lvl-win .ld-lvl-rate-val{color:var(--ld-emerald-ink)}

  /* What an agent is paid for her own work, under the levels and in the same
     card, told apart by sky rather than indigo so it never reads as level 4. */
  .ld-lvl-agent-group{display:grid;gap:10px;margin-top:6px;padding-top:14px;border-top:1px dashed var(--ld-line)}
  .ld-lvl-agent-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .ld-lvl-agent-head > span:first-child{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ld-sky-ink)}
  .ld-lvl-agent{background:linear-gradient(180deg,var(--ld-sky-bg),#fff);border-color:#BAE6FD}
  .ld-lvl-agent .ld-lvl-badge{background:var(--ld-sky);color:#fff}
  .ld-lvl-buy .ld-lvl-rate-val{color:var(--ld-sky-ink)}
  .ld-lvl-rate-gap{visibility:hidden}
  .ld-lvl-agent-note{font-size:12px;line-height:1.5;color:var(--ld-rose-ink);background:var(--ld-rose-bg);border-radius:10px;padding:8px 12px}
  .ld-cm-split{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
  .ld-cm-chip{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;color:var(--ld-ink-2);
    border:1px solid var(--ld-line);border-radius:999px;padding:3px 10px;font-variant-numeric:tabular-nums}
  .ld-cm-chip b{font-weight:800}
  .ld-cm-chip-agent{background:var(--ld-sky-bg);border-color:#BAE6FD;color:var(--ld-sky-ink)}

  /* Narrow: the rates drop under the name instead of being scrolled to. */
  @media (max-width:560px){
    .ld-lvl{grid-template-columns:auto 1fr;row-gap:12px}
    .ld-lvl-rates{grid-column:1 / -1}
    .ld-lvl-rate{flex:1;min-width:0}
    .ld-lvl-rate-gap{display:none}
  }

  /* ---------- Language switcher placement ---------- */
  .ld-tb-lang{display:flex;align-items:center}
  /* On the sign-in screens it sits at the right of the logo row, after the
     results link, above the forms rather than over them. */
  .ld-auth-top > .ld-auth-back{margin-left:auto}
  .ld-auth-lang{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}
  @media (max-width:560px){
    /* Narrow: the row wraps and the switcher keeps to the right, in flow. */
    .ld-auth-top{flex-wrap:wrap;row-gap:10px}
    .ld-auth-lang{margin-left:auto}
  }

  /* ---------- Sold-out popup (approved 14 Sep 2026) ----------
     What is sold out, crossed out; every number that can still be bought as
     its own chip, neighbours in alternating colours so numbers never run
     together. On a phone it rises from the bottom with the buttons in reach. */
  .ld-sp{display:grid;gap:14px}
  .ld-sp-lead{display:flex;gap:12px;align-items:flex-start}
  .ld-sp-lead .ld-dot-ico{width:40px;height:40px}
  .ld-sp-lead p{margin:0;color:var(--ld-ink-2);font-size:13.5px;line-height:1.5}
  .ld-sp-lead strong{display:block;font-size:16px;color:var(--ld-ink);margin-bottom:2px}
  .ld-sp-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ld-muted)}
  .ld-sp-label em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:600;white-space:nowrap}
  .ld-sp-out{border:1px solid #FECDD3;background:var(--ld-rose-bg);border-radius:12px}
  .ld-sp-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #FECDD3}
  .ld-sp-row:last-child{border-bottom:0}
  .ld-sp-what{font-size:13px;color:var(--ld-ink-2);min-width:0}
  .ld-sp-what b{color:var(--ld-ink)}
  .ld-sp-pill{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;background:#fff}
  .ld-sp-pill-out{color:var(--ld-rose-ink);border:1px solid #FECDD3}
  .ld-sp-pill-part{color:#B45309;border:1px solid #FDE68A}
  .ld-sp-num{display:inline-flex;gap:3px;font-variant-numeric:tabular-nums}
  .ld-sp-num span{width:22px;height:28px;display:grid;place-items:center;border-radius:6px;background:#fff;border:1px solid #FECDD3;box-shadow:inset 0 -2px 0 var(--ld-rose-bg);font-weight:800;font-size:14px;color:var(--ld-rose-ink);text-decoration:line-through}
  .ld-sp-ready{display:grid;gap:12px;border:1px solid var(--ld-emerald-line);background:var(--ld-emerald-bg);border-radius:12px;padding:10px 12px}
  .ld-sp-group+.ld-sp-group{border-top:1px solid var(--ld-emerald-line);padding-top:10px}
  .ld-sp-group .ld-sp-label{color:var(--ld-emerald-ink)}
  .ld-sp-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto}
  .ld-sp-chip{display:inline-flex;gap:2px;padding:4px 5px;border-radius:10px;background:#fff;border:1.5px solid var(--ld-emerald-line);font-variant-numeric:tabular-nums}
  .ld-sp-chip:nth-child(even){background:#D1FAE5;border-color:#6EE7B7}
  .ld-sp-chip span{width:17px;height:24px;display:grid;place-items:center;font-weight:800;font-size:14.5px;color:var(--ld-emerald-ink)}
  .ld-sp-chip:nth-child(even) span{color:#065F46}
  .ld-sp-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:10px;border-top:1px dashed var(--ld-line);font-size:13px;color:var(--ld-muted)}
  .ld-sp-sum b{font-size:17px;color:var(--ld-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
  .ld-sp-banner{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;padding:10px 12px;border-radius:12px;border:1px solid #FDE68A;background:#FFFBEB;color:#B45309;font-size:13px}
  .ld-sp-banner[hidden]{display:none}
  @media (max-width:560px){
    .ld-overlay-dlg:has(.ld-sp){align-items:flex-end;padding:0}
    .ld-dialog:has(.ld-sp){max-width:none;max-height:92vh;border-radius:18px 18px 0 0}
    .ld-dialog:has(.ld-sp) .ld-dialog-foot{flex-direction:column-reverse}
    .ld-dialog:has(.ld-sp) .ld-dialog-foot .ld-btn{width:100%;justify-content:center}
  }

  /* Pick screen on narrow screens: the slip goes under the picker instead of
     squeezing beside it, and the Add button wraps below the digits. */
  @media (max-width:960px){ .ld-pn{grid-template-columns:minmax(0,1fr)} }
  .ld-pick-digits{flex-wrap:wrap}

  /* ---- support chat ---------------------------------------------------
     A launcher in the corner of every signed-in page, and the conversation
     over the page rather than instead of it: a question is nearly always
     about whatever is on screen behind it. The full page (#messages) reuses
     the same message and composer rules, so a conversation reads identically
     in both places. */
  .ld-chat-fab{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border:0;
    border-radius:50%;background:var(--ld-accent);color:#fff;display:grid;place-items:center;cursor:pointer;
    box-shadow:0 12px 28px -10px rgba(79,70,229,.8)}
  .ld-chat-fab:hover{background:var(--ld-accent-700)}
  .ld-chat-fab .ld-ico{width:26px;height:26px}
  .ld-chat-badge{position:absolute;top:-2px;right:-2px;min-width:21px;height:21px;padding:0 6px;
    border-radius:999px;background:var(--ld-rose,#E11D48);color:#fff;font-size:11px;font-weight:800;
    display:grid;place-items:center;border:2px solid var(--ld-bg)}
  .ld-chat-panel{position:fixed;right:18px;bottom:18px;z-index:61;width:min(380px,calc(100vw - 24px));
    max-height:min(620px,calc(100vh - 36px));background:#fff;border:1px solid var(--ld-line);
    border-radius:16px;box-shadow:0 26px 60px -26px rgba(15,23,42,.65);display:flex;flex-direction:column;
    overflow:hidden}
  .ld-chat-head{display:flex;align-items:center;gap:10px;padding:12px 14px;
    background:linear-gradient(140deg,var(--ld-accent),var(--ld-accent-700));color:#fff;flex:none}
  .ld-chat-av{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;
    place-items:center;font-weight:800;font-size:12px;flex:none}
  .ld-chat-name{font-weight:700;font-size:14px;line-height:1.2}
  .ld-chat-state{font-size:11px;opacity:.88;display:flex;align-items:center;gap:5px}
  .ld-chat-live{width:6px;height:6px;border-radius:50%;background:#4ADE80}
  .ld-chat-head-btn{margin-left:auto;background:none;border:0;color:#fff;cursor:pointer;opacity:.9;
    display:grid;place-items:center;padding:4px;border-radius:8px}
  .ld-chat-head-btn:hover{opacity:1;background:rgba(255,255,255,.14)}
  .ld-chat-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 13px 8px;display:flex;
    flex-direction:column;gap:10px;
    background:radial-gradient(circle at 1px 1px,#E8EDF5 1px,transparent 0) 0 0/20px 20px}
  .ld-chat-day{align-self:center;font-size:11px;font-weight:700;color:var(--ld-faint)}
  .ld-chat-msg{max-width:84%;padding:9px 12px;border-radius:14px;font-size:13px;line-height:1.5;
    border:1px solid var(--ld-line);background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}
  .ld-chat-msg.is-mine{align-self:flex-end;background:var(--ld-accent);border-color:var(--ld-accent);
    color:#fff;border-bottom-right-radius:4px}
  .ld-chat-msg.is-theirs{align-self:flex-start;border-bottom-left-radius:4px}
  .ld-chat-who{font-size:11px;font-weight:700;color:var(--ld-ink-2);margin-bottom:3px}
  .ld-chat-time{font-size:10.5px;color:var(--ld-faint);margin-top:4px}
  .ld-chat-msg.is-mine .ld-chat-time{color:rgba(255,255,255,.75);text-align:right}
  .ld-chat-unread{align-self:center;font-size:11px;font-weight:700;color:#BE123C;background:#FFF1F2;
    border:1px solid #FECDD3;border-radius:999px;padding:2px 10px}
  .ld-chat-foot{flex:none;border-top:1px solid var(--ld-line-2);padding:10px 12px;display:flex;gap:8px;
    align-items:flex-end;background:#fff}
  .ld-chat-foot .ld-input{flex:1 1 auto;min-width:0;height:42px;resize:none;padding:10px 12px;font-size:13px}
  .ld-chat-send{flex:none;width:42px;height:42px;border-radius:10px;border:0;background:var(--ld-accent);
    color:#fff;display:grid;place-items:center;cursor:pointer}
  .ld-chat-send:disabled{opacity:.5;cursor:not-allowed}
  .ld-chat-topics{display:flex;flex-wrap:wrap;gap:6px;padding:0 13px 12px}
  .ld-chat-topic{font-size:12px;font-weight:600;border:1px solid var(--ld-accent-200);color:var(--ld-accent-700);
    background:var(--ld-accent-50);border-radius:999px;padding:4px 10px;cursor:pointer}
  .ld-chat-topic:hover{background:var(--ld-accent-100)}
  .ld-chat-empty{margin:auto;text-align:center;color:var(--ld-muted);font-size:13px;padding:18px}
  .ld-chat-back{display:inline-flex;align-items:center;gap:5px;background:none;border:0;color:#fff;
    font-size:12px;font-weight:600;cursor:pointer;padding:0;opacity:.9}
  @media (max-width:560px){
    .ld-chat-panel{right:0;left:0;bottom:0;width:auto;border-radius:16px 16px 0 0;
      max-height:min(88vh,calc(100vh - 12px))}
    .ld-chat-fab{right:14px;bottom:14px}
  }

  /* The full page: every conversation on the left, the open one beside it. */
  .ld-msg-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;border:1px solid var(--ld-line);
    border-radius:16px;overflow:hidden;background:#fff;height:min(70vh,720px);min-height:460px}
  .ld-msg-rail{border-right:1px solid var(--ld-line-2);display:flex;flex-direction:column;min-width:0}
  .ld-msg-rail-head{padding:12px 13px;border-bottom:1px solid var(--ld-line-2);display:flex;
    align-items:center;gap:8px}
  .ld-msg-rail-head b{font-size:13.5px}
  .ld-msg-list{overflow-y:auto;flex:1;min-height:0;list-style:none;margin:0;padding:0}
  .ld-msg-conv{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--ld-line-2);
    border-left:3px solid transparent;padding:10px 12px;cursor:pointer;display:block}
  .ld-msg-conv:hover{background:var(--ld-hover)}
  .ld-msg-conv.is-sel{background:var(--ld-accent-50);border-left-color:var(--ld-accent)}
  .ld-msg-conv-top{display:flex;align-items:center;gap:6px}
  .ld-msg-conv-topic{font-weight:700;font-size:12.5px;flex:1;min-width:0;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap}
  .ld-msg-conv-time{font-size:10.5px;color:var(--ld-faint);flex:none}
  .ld-msg-conv-snip{font-size:11.5px;color:var(--ld-muted);margin-top:2px;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap}
  .ld-msg-conv-dot{width:7px;height:7px;border-radius:50%;background:var(--ld-rose,#E11D48);flex:none}
  .ld-msg-conv-state{font-size:10.5px;font-weight:700;color:var(--ld-emerald);margin-top:3px}
  .ld-msg-thread{display:flex;flex-direction:column;min-width:0}
  .ld-msg-thread-head{flex:none;padding:11px 14px;border-bottom:1px solid var(--ld-line-2);display:flex;
    align-items:center;gap:10px}
  .ld-msg-thread-head h2{margin:0;font-size:14.5px;font-weight:700}
  .ld-msg-thread .ld-chat-body{background:none;padding:14px}
  @media (max-width:760px){
    .ld-msg-wrap{grid-template-columns:minmax(0,1fr);height:auto}
    .ld-msg-rail{border-right:0;border-bottom:1px solid var(--ld-line-2);max-height:260px}
    .ld-msg-thread{min-height:420px}
    .ld-msg-wrap.is-reading .ld-msg-rail{display:none}
    .ld-msg-wrap:not(.is-reading) .ld-msg-thread{display:none}
  }

  /* The support agent's face beside their reply. */
  .ld-chat-from{display:flex;align-items:flex-start;gap:8px;max-width:92%}
  .ld-chat-from .ld-chat-msg{max-width:none;min-width:0}
  .ld-chat-face{border-radius:50%;flex:none;display:block;border:1px solid var(--ld-line)}
  img.ld-chat-av{border-radius:50%;display:block;flex:none;background:rgba(255,255,255,.2)}

  /* ---- a win, in the chat -------------------------------------------
     The amount first, then which number took which prize. Deep indigo so
     it stands apart from every other bubble, with the prize figure in the
     brand's gold. The rays sit behind it and take no clicks. */
  .ld-win{position:relative;align-self:stretch;max-width:100%;margin:2px 0 4px;padding:16px 14px 13px;
    border-radius:16px;overflow:hidden;color:#fff;
    background:linear-gradient(150deg,var(--ld-indigo-900) 0%,var(--ld-accent) 55%,#6D5DF6 100%);
    box-shadow:0 14px 30px -18px rgba(49,46,129,.9)}
  .ld-win-rays{position:absolute;inset:-40% -20% auto;height:180%;pointer-events:none;opacity:.35;
    background:conic-gradient(from 0deg at 50% 0%,
      rgba(255,255,255,.55) 0deg 8deg, transparent 8deg 24deg,
      rgba(255,255,255,.35) 24deg 30deg, transparent 30deg 48deg,
      rgba(255,255,255,.5) 48deg 54deg, transparent 54deg 74deg,
      rgba(255,255,255,.3) 74deg 80deg, transparent 80deg 104deg,
      rgba(255,255,255,.45) 104deg 110deg, transparent 110deg 132deg,
      rgba(255,255,255,.3) 132deg 138deg, transparent 138deg 160deg,
      rgba(255,255,255,.5) 160deg 166deg, transparent 166deg 180deg)}
  .ld-win-top,.ld-win-amt,.ld-win-list,.ld-win-foot{position:relative}
  .ld-win-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
  .ld-win-title{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .ld-win-draw{font-size:11.5px;opacity:.85}
  .ld-win-amt{font-size:38px;font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:4px 0 12px;
    font-variant-numeric:tabular-nums;color:#FCD34D;text-shadow:0 2px 10px rgba(0,0,0,.25)}
  .ld-win-amt small{font-size:13px;font-weight:700;margin-left:6px;letter-spacing:0;color:rgba(255,255,255,.9)}
  .ld-win-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
  .ld-win-list li{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);border-radius:11px;padding:7px 9px}
  .ld-win-list .ld-digit{background:rgba(255,255,255,.96);border-color:transparent;
    box-shadow:inset 0 -2px 0 rgba(79,70,229,.25);color:var(--ld-indigo-950)}
  .ld-win-cat{flex:1;min-width:0;font-size:12.5px;font-weight:700;line-height:1.25}
  .ld-win-cat small{display:block;font-size:10.5px;font-weight:500;opacity:.8}
  .ld-win-list li b{font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#FCD34D}
  .ld-win-foot{display:flex;align-items:center;gap:6px;margin-top:11px;font-size:11.5px;opacity:.92}
  .ld-win-foot .ld-ico{stroke-width:2.4}
  .ld-confetti{position:absolute;inset:0;pointer-events:none;z-index:5}
  /* The confetti canvas is absolute inside whatever holds the conversation.
     The panel is already fixed, which is a positioning context of its own —
     re-declaring it here as relative dropped the whole panel down the page. */
  .ld-msg-thread{position:relative}
  @media (max-width:560px){ .ld-win-amt{font-size:34px} }

  /* ---- winner celebration --------------------------------------------
     Over everything, once per win. The crest is the app's indigo pushed
     into violet, the digits take the four colours the confetti uses, and
     the prize is the one green thing on the page. */
  .ld-cel{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;
    padding:18px;overflow-y:auto;background:rgba(15,23,42,.55);
    -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
  .ld-cel.ld-is-open{display:flex}
  .ld-cel-canvas{position:absolute;inset:0;pointer-events:none}
  .ld-cel-balloons{position:absolute;inset:0;overflow:hidden;pointer-events:none}
  .ld-cel-balloon{position:absolute;bottom:-160px;border-radius:50% 50% 48% 48%;opacity:.9;
    animation:ld-rise linear forwards}
  .ld-cel-balloon::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:58px;
    background:rgba(255,255,255,.55);transform:translateX(-50%)}
  @keyframes ld-rise{
    0%{transform:translateY(0) rotate(0deg);opacity:0}
    12%{opacity:.92}
    100%{transform:translateY(-118vh) rotate(var(--ld-spin,8deg));opacity:0}}

  .ld-cel-modal{position:relative;z-index:2;width:100%;max-width:404px;margin:auto;background:#fff;
    border-radius:22px;overflow:hidden;
    box-shadow:0 28px 70px -26px rgba(15,23,42,.6),0 0 0 1px rgba(15,23,42,.05);
    animation:ld-cel-pop .42s cubic-bezier(.2,1.25,.4,1) both}
  @keyframes ld-cel-pop{0%{opacity:0;transform:translateY(22px) scale(.92)}
    100%{opacity:1;transform:translateY(0) scale(1)}}

  .ld-cel-crest{position:relative;padding:14px 18px 26px;text-align:center;color:#fff;
    background:radial-gradient(120% 130% at 50% -25%,rgba(255,255,255,.28),transparent 60%),
      linear-gradient(135deg,#4338CA 0%,#5B21B6 48%,#7C3AED 100%)}
  .ld-cel-rays{position:absolute;inset:0;opacity:.3;pointer-events:none;
    background:conic-gradient(from 0deg at 50% 0%,
      rgba(255,255,255,.5) 0deg 7deg,transparent 7deg 22deg,
      rgba(255,255,255,.35) 22deg 28deg,transparent 28deg 46deg,
      rgba(255,255,255,.5) 46deg 52deg,transparent 52deg 72deg,
      rgba(255,255,255,.3) 72deg 78deg,transparent 78deg 102deg,
      rgba(255,255,255,.45) 102deg 108deg,transparent 108deg 130deg,
      rgba(255,255,255,.3) 130deg 136deg,transparent 136deg 158deg,
      rgba(255,255,255,.5) 158deg 164deg,transparent 164deg 180deg)}
  .ld-cel-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .ld-cel-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;flex:none;
    border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
  .ld-cel-btn:hover{background:rgba(255,255,255,.22)}
  .ld-cel-btn.is-muted{opacity:.6}
  .ld-cel-btn.is-pending{animation:ld-cel-pulse 1.5s ease-out infinite;
    border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.26)}
  @keyframes ld-cel-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}
    70%{box-shadow:0 0 0 12px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
  .ld-cel-eyebrow{position:relative;font-size:10.5px;font-weight:800;letter-spacing:.14em;
    text-transform:uppercase;color:rgba(255,255,255,.85)}
  .ld-cel-hint{position:relative;display:block;margin:4px 0 0;font-size:10px;font-weight:700;
    letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85)}
  .ld-cel-hint[hidden]{display:none}
  .ld-cel-trophy{position:relative;width:66px;height:66px;margin:10px auto 0;border-radius:50%;
    display:grid;place-items:center;color:#7C2D12;
    background:radial-gradient(circle at 34% 28%,#FEF3C7,#FBBF24 52%,#D97706);
    box-shadow:0 10px 28px -10px rgba(217,119,6,.9),0 0 0 8px rgba(255,255,255,.14);
    animation:ld-cel-bob 2.6s ease-in-out infinite}
  .ld-cel-trophy .ld-ico{width:32px;height:32px;stroke-width:1.8}
  @keyframes ld-cel-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
  .ld-cel-headline{position:relative;margin:11px 0 0;font-size:19.5px;font-weight:800;letter-spacing:-.02em}
  .ld-cel-sub{position:relative;margin:4px 0 0;font-size:12.5px;color:rgba(255,255,255,.85)}
  .ld-cel-tier{position:relative;display:inline-flex;align-items:center;gap:6px;margin-top:10px;
    padding:5px 13px;border-radius:999px;font-size:11.5px;font-weight:800;
    background:linear-gradient(135deg,#FDE68A,#FBBF24);color:#78350F;
    box-shadow:0 6px 16px -8px rgba(120,53,15,.8)}
  .ld-cel-tier .ld-ico{fill:currentColor;stroke:none}

  .ld-cel-body{padding:0 16px 16px;margin-top:-20px;position:relative}
  .ld-cel-numbers{background:#fff;border:1px solid var(--ld-line);border-radius:16px;
    padding:14px 14px 13px;text-align:center;box-shadow:0 12px 30px -22px rgba(15,23,42,.55)}
  .ld-cel-label{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
    color:var(--ld-faint)}
  .ld-cel-digits{display:flex;justify-content:center;gap:8px;margin-top:10px}
  .ld-cel-digit{width:50px;height:56px;border-radius:13px;display:grid;place-items:center;
    font-size:26px;font-weight:800;letter-spacing:-.03em;color:#fff;
    font-variant-numeric:tabular-nums;animation:ld-cel-flip .5s cubic-bezier(.2,1.2,.4,1) both;
    box-shadow:inset 0 -3px 0 rgba(0,0,0,.14),0 8px 18px -12px rgba(15,23,42,.7)}
  .ld-cel-digit:nth-child(1){background:linear-gradient(150deg,#EF4444,#B91C1C);animation-delay:.18s}
  .ld-cel-digit:nth-child(2){background:linear-gradient(150deg,#FBBF24,#D97706);animation-delay:.28s}
  .ld-cel-digit:nth-child(3){background:linear-gradient(150deg,#A855F7,#7E22CE);animation-delay:.38s}
  .ld-cel-digit:nth-child(4){background:linear-gradient(150deg,#6366F1,#4338CA);animation-delay:.48s}
  @keyframes ld-cel-flip{0%{opacity:0;transform:rotateX(-85deg) translateY(10px)}
    100%{opacity:1;transform:rotateX(0) translateY(0)}}
  .ld-cel-chips{margin-top:11px;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
  .ld-cel-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;
    padding:3px 9px;border-radius:999px;border:1px solid var(--ld-line);background:#F8FAFC;
    color:var(--ld-ink-2);white-space:nowrap}
  .ld-cel-chip.is-gold{background:#FFFBEB;border-color:#FDE68A;color:#92400E}

  .ld-cel-prize{margin-top:12px;text-align:center;padding:13px 14px;border-radius:16px;
    background:linear-gradient(160deg,#ECFDF5,#F0FDF4);border:1px solid #A7F3D0}
  .ld-cel-prize-label{font-size:11px;font-weight:700;color:#047857}
  .ld-cel-amount{font-size:34px;font-weight:800;letter-spacing:-.035em;color:#047857;line-height:1.1;
    margin-top:2px;font-variant-numeric:tabular-nums}
  .ld-cel-amount small{font-size:15px;font-weight:700;margin-left:6px;letter-spacing:0}
  .ld-cel-prize-note{font-size:11.5px;color:#059669;margin-top:3px;font-weight:600}

  .ld-cel-meta{margin:12px 0 0;border:1px solid var(--ld-line);border-radius:14px;overflow:hidden}
  .ld-cel-meta > div{display:flex;justify-content:space-between;gap:12px;padding:8px 13px;
    font-size:12.5px;border-bottom:1px solid var(--ld-line-2)}
  .ld-cel-meta > div:last-child{border-bottom:none}
  .ld-cel-meta dt{color:var(--ld-muted);margin:0}
  .ld-cel-meta dd{margin:0;font-weight:700;text-align:right;overflow-wrap:anywhere}
  .ld-cel-actions{display:grid;gap:8px;margin-top:13px}
  .ld-cel-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ld-cel-dismiss{display:block;width:100%;margin-top:2px;padding:8px;border:none;background:none;
    font-size:12.5px;font-weight:600;color:var(--ld-faint);cursor:pointer}
  .ld-cel-dismiss:hover{color:var(--ld-ink-2)}
  @media (max-width:380px){
    .ld-cel-digit{width:46px;height:54px;font-size:25px}
    .ld-cel-amount{font-size:32px}
    .ld-cel-row{grid-template-columns:1fr}
  }
  @media (prefers-reduced-motion:reduce){
    .ld-cel-modal,.ld-cel-trophy,.ld-cel-digit{animation:none !important}
    .ld-cel-balloons{display:none}
  }

  /* The authenticator deadline. A line at the top of the app while there is
     still time, and red once there is not. */
  /* In the flow at the top of the content column, not over it: fixed at the
     top of the window it covered the top bar, the menu button and the page
     title — the three things somebody needs to act on it. */
  .ld-2fa-bar{padding:9px 16px;font-size:13px;line-height:1.45;text-align:center;
    background:var(--ld-amber-bg);color:var(--ld-amber-ink);border-bottom:1px solid #FDE68A}
  .ld-2fa-bar.is-overdue{background:#FFF1F2;color:#9F1239;border-bottom-color:#FECDD3}
  .ld-2fa-bar .ld-link{font-weight:700;color:inherit;text-decoration:underline}
  @media (max-width:560px){ .ld-2fa-bar{padding:8px 12px;font-size:12.5px;text-align:left} }
