.sc2-lottery-app,
.sc2-lookup,
.sc2-history-widget,
.sc2-event-history--modal,
.sc2-event-history-page,
.sc2-public-panel,
.sc2-public-dialog {
  --sc2-accent: var(--nx-accent, #46dcff);
  --sc2-accent-2: var(--nx-accent-2, #ffd166);
  --sc2-accent-3: var(--nx-accent-3, #a77cff);
  --sc2-accent-rgb: var(--nx-accent-rgb, 70, 220, 255);
  --sc2-text: var(--nx-text, #b9c9ea);
  --sc2-text-bright: var(--nx-text-bright, #edf8ff);
  --sc2-muted: var(--nx-muted, #7f91b5);
  --sc2-panel: rgba(7, 12, 27, .88);
  --sc2-line: rgba(var(--sc2-accent-rgb), .2);
  --sc2-line-strong: rgba(var(--sc2-accent-rgb), .48);
  color: var(--sc2-text);
  font-family: var(--nx-font, "Noto Sans SC", "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif);
  font-size: 15px;
  line-height: 1.6;
  box-sizing: border-box;
  isolation: isolate;
}

.sc2-lottery-app *,
.sc2-lottery-app *::before,
.sc2-lottery-app *::after,
.sc2-lookup *,
.sc2-lookup *::before,
.sc2-lookup *::after,
.sc2-history-widget *,
.sc2-history-widget *::before,
.sc2-history-widget *::after,
.sc2-event-history--modal *,
.sc2-event-history--modal *::before,
.sc2-event-history--modal *::after,
.sc2-event-history-page *,
.sc2-event-history-page *::before,
.sc2-event-history-page *::after,
.sc2-public-panel *,
.sc2-public-panel *::before,
.sc2-public-panel *::after,
.sc2-public-dialog *,
.sc2-public-dialog *::before,
.sc2-public-dialog *::after { box-sizing: border-box; }

.sc2-lottery-app [hidden],
.sc2-lookup [hidden],
.sc2-history-widget [hidden],
.sc2-event-history--modal [hidden],
.sc2-event-history-page [hidden] { display: none !important; }

.sc2-lottery-app { position: relative; padding: clamp(12px, 3vw, 34px) 0; background: transparent; }

.sc2-lottery-stage { display: grid; width: min(1320px, 100%); margin: 0 auto; grid-template-columns: minmax(0, 980px) minmax(290px, 320px); align-items: start; gap: 18px; }
.sc2-lottery-stage.is-solo { display: block; width: min(1180px, 100%); max-width: 1180px; }
.sc2-lottery-stage .sc2-lottery-shell { max-width: none; margin: 0; }

.sc2-lottery-shell {
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--sc2-line-strong);
  border-radius: 8px;
  background:
    linear-gradient(rgba(var(--sc2-accent-rgb), .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--sc2-accent-rgb), .025) 1px, transparent 1px),
    linear-gradient(145deg, rgba(var(--sc2-accent-rgb), .06), transparent 42%),
    var(--sc2-panel);
  background-size: 32px 32px, 32px 32px, auto, auto;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .38), inset 0 0 70px rgba(var(--sc2-accent-rgb), .035);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.sc2-lottery-shell::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--sc2-accent), var(--sc2-accent-2), transparent);
  box-shadow: 0 0 18px rgba(var(--sc2-accent-rgb), .65);
}

.sc2-lottery-intro {
  position: relative;
  padding: clamp(30px, 5vw, 52px) clamp(22px, 6vw, 68px) 26px;
  border-bottom: 1px solid var(--sc2-line);
}

.sc2-lottery-intro::after {
  content: "S2 / LOTTERY";
  position: absolute;
  top: 28px;
  right: clamp(22px, 6vw, 68px);
  color: rgba(var(--sc2-accent-rgb), .09);
  font: 800 clamp(20px, 4vw, 42px)/1 var(--nx-font-display, "Segoe UI", sans-serif);
  letter-spacing: 0;
  pointer-events: none;
}

.sc2-lottery-eyebrow { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.sc2-lottery-kicker { color: var(--sc2-accent); font-size: 11px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.sc2-terminal-state { display: inline-flex; align-items: center; gap: 7px; color: var(--sc2-muted); font-size: 11px; }
.sc2-terminal-state::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #62e6a8; box-shadow: 0 0 10px rgba(98, 230, 168, .8); }

.sc2-lottery-intro h2,
.sc2-lookup h2,
.nx-entry .sc2-lottery-app h2,
.nx-entry .sc2-lookup h2 {
  position: relative;
  z-index: 1;
  margin: 13px 0 8px;
  padding: 0;
  color: var(--sc2-text-bright);
  font-family: var(--nx-font-display, var(--nx-font, "Segoe UI", sans-serif));
  font-size: clamp(27px, 4vw, 43px);
  line-height: 1.12;
  letter-spacing: 0;
  text-shadow: 0 0 22px rgba(var(--sc2-accent-rgb), .14);
}

.nx-entry .sc2-lottery-app h2::before,
.nx-entry .sc2-lookup h2::before { display: none; }

.sc2-lottery-intro p,
.sc2-lookup-heading p { position: relative; z-index: 1; max-width: 610px; margin: 0; color: var(--sc2-muted); }
.sc2-lottery-form { padding: 26px clamp(22px, 6vw, 68px) 20px; }

.sc2-lottery-form label,
.sc2-lookup-form label { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 9px; color: var(--sc2-text-bright); font-size: 13px; font-weight: 700; }
.sc2-lottery-form label small { color: var(--sc2-muted); font-size: 9px; font-weight: 700; letter-spacing: 0; }
.sc2-code-label-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 9px; }
.sc2-code-label-row label { min-width: 0; flex: 1; margin-bottom: 0; }
.sc2-history-widget { display: flex; width: 100%; min-width: 0; align-items: center; justify-content: flex-end; gap: 16px; }
.sc2-history-heading-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.sc2-history-heading-row h2, .nx-entry .sc2-history-heading-row h2 { min-width: 0; margin: 0; padding: 0; color: var(--sc2-text-bright); font-size: 32px; line-height: 1.25; letter-spacing: 0; overflow-wrap: anywhere; }
.nx-entry .sc2-history-heading-row h2::before { display: none; }
.sc2-history-widget .sc2-history-open,
.sc2-history-widget .sc2-leaderboard-open { display: inline-flex; min-width: 104px; min-height: 40px; flex: 0 0 auto; align-items: center; justify-content: center; margin: 0; padding: 8px 16px; border: 1px solid var(--sc2-line-strong); border-radius: 4px; background: rgba(var(--sc2-accent-rgb), .08); color: var(--sc2-text-bright); font: 700 13px/1.4 var(--nx-font, "Segoe UI", sans-serif); letter-spacing: 0; white-space: nowrap; cursor: pointer; }
.sc2-history-widget .sc2-history-open:hover,
.sc2-history-widget .sc2-leaderboard-open:hover { background: rgba(var(--sc2-accent-rgb), .16); border-color: var(--sc2-accent); }
.sc2-history-widget .sc2-history-open:focus-visible,
.sc2-history-widget .sc2-leaderboard-open:focus-visible { outline: 2px solid var(--sc2-accent-2); outline-offset: 3px; }
.sc2-lottery-input-row { display: flex; align-items: stretch; gap: 10px; }

.sc2-lottery-input-row input,
.nx-entry .sc2-lottery-input-row input {
  width: auto;
  min-width: 0;
  min-height: 54px;
  flex: 1;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(var(--sc2-accent-rgb), .3);
  border-radius: 4px;
  outline: none;
  background: rgba(2, 6, 17, .78);
  color: var(--sc2-text-bright);
  font: 600 14px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0;
  box-shadow: inset 0 0 22px rgba(0, 0, 0, .22);
  transition: border-color .2s, box-shadow .2s, background .2s;
  clip-path: none;
}

.sc2-lottery-input-row input::placeholder { color: #66779a; opacity: 1; }
.sc2-lottery-input-row input:focus { border-color: var(--sc2-accent); background: rgba(4, 10, 24, .94); box-shadow: 0 0 0 3px rgba(var(--sc2-accent-rgb), .12), 0 0 22px rgba(var(--sc2-accent-rgb), .14); }

.sc2-button,
.nx-entry .sc2-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 54px;
  margin: 0;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: 4px;
  color: var(--sc2-text-bright);
  font: 750 13px/1 var(--nx-font, "Segoe UI", sans-serif);
  letter-spacing: 0;
  text-decoration: none;
  text-shadow: none;
  box-shadow: none;
  clip-path: none;
  cursor: pointer;
  transition: transform .18s, border-color .18s, background .18s, box-shadow .18s;
}

.sc2-button:hover { transform: translateY(-1px); }
.sc2-button:focus-visible { outline: 2px solid var(--sc2-accent-2); outline-offset: 3px; }
.sc2-button:disabled { cursor: wait; opacity: .58; transform: none; }

.sc2-button-primary { min-width: 166px; justify-content: space-between; border-color: rgba(var(--sc2-accent-rgb), .78); background: linear-gradient(130deg, rgba(var(--sc2-accent-rgb), .3), rgba(var(--sc2-accent-rgb), .12)); color: var(--sc2-text-bright); box-shadow: inset 0 0 22px rgba(var(--sc2-accent-rgb), .08); }
.sc2-button-primary:hover { border-color: var(--sc2-accent); background: rgba(var(--sc2-accent-rgb), .27); color: #fff; box-shadow: 0 0 24px rgba(var(--sc2-accent-rgb), .25); }
.sc2-button-dark { border-color: var(--sc2-line-strong); background: rgba(var(--sc2-accent-rgb), .16); color: var(--sc2-text-bright); }
.sc2-button-quiet { min-height: 42px; border-color: var(--sc2-line); background: transparent; color: var(--sc2-text); }
.sc2-button-quiet:hover { border-color: var(--sc2-line-strong); background: rgba(var(--sc2-accent-rgb), .08); color: var(--sc2-text-bright); }
.sc2-button-arrow { color: var(--sc2-accent); font-size: 20px; font-weight: 400; }
.sc2-lottery-hint { margin: 9px 0 0; color: var(--sc2-muted); font-size: 12px; }
.sc2-lottery-form.is-loading .sc2-button-primary { animation: sc2-button-pulse 1.1s ease-in-out infinite alternate; }
@keyframes sc2-button-pulse { to { box-shadow: 0 0 28px rgba(var(--sc2-accent-rgb), .38); } }

.sc2-event-dialog { position: fixed; z-index: 99999; inset: 0; display: grid; place-items: center; padding: 18px; }
.sc2-event-dialog[hidden] { display: none !important; }
.sc2-event-backdrop { position: absolute; inset: 0; background: rgba(0, 4, 14, .78); backdrop-filter: blur(4px); }
.sc2-event-dialog-panel { position: relative; width: min(460px, 100%); padding: 26px; border: 1px solid var(--sc2-line-strong); border-radius: 6px; background: #0a1427; box-shadow: 0 22px 65px rgba(0, 0, 0, .7), 0 0 24px rgba(var(--sc2-accent-rgb), .14); }
.sc2-event-dialog-panel h3 { margin: 8px 0; color: var(--sc2-text-bright); font-size: 22px; }
.sc2-event-dialog-panel p { color: var(--sc2-muted); font-size: 13px; }
.sc2-event-dialog-panel label { display: block; margin: 18px 0 8px; color: var(--sc2-text-bright); font-weight: 700; }
.sc2-event-dialog-panel input, .sc2-event-dialog-panel select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--sc2-line-strong); border-radius: 4px; background: #030a18; color: var(--sc2-text-bright); font: 600 14px ui-monospace, Consolas, monospace; }
.sc2-event-dialog-panel input:focus, .sc2-event-dialog-panel select:focus { outline: 2px solid var(--sc2-accent); outline-offset: 2px; }
.sc2-event-close { position: absolute; top: 10px; right: 12px; border: 0; background: transparent; color: var(--sc2-muted); font-size: 28px; cursor: pointer; }
.sc2-event-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.sc2-event-actions .sc2-button-primary { min-width: 150px; }
.sc2-event-dialog-panel .sc2-event-hint { margin: 8px 0; font-size: 11px; }
.sc2-event-dialog-panel .sc2-event-error { margin: 8px 0; color: #ff9ba6; font-size: 12px; }

.sc2-lottery-status,
.sc2-lookup-status { min-height: 28px; margin: 0 clamp(22px, 6vw, 68px) 14px; padding: 8px 11px; border-left: 2px solid var(--sc2-line-strong); background: rgba(var(--sc2-accent-rgb), .04); color: var(--sc2-muted); font-size: 12px; }
.sc2-lottery-status:empty, .sc2-lookup-status:empty { min-height: 0; margin-bottom: 0; padding: 0; border: 0; }
.sc2-lottery-status[data-type="success"], .sc2-lookup-status[data-type="success"] { border-color: #62e6a8; color: #8cf2c1; }
.sc2-lottery-status[data-type="error"], .sc2-lookup-status[data-type="error"] { border-color: #ff7180; color: #ff9ba6; }
.sc2-lottery-status[data-type="warning"] { border-color: var(--sc2-accent-2); color: #ffe098; }

.sc2-reel-wrap { position: relative; height: 170px; margin: 2px clamp(16px, 4vw, 42px) 28px; overflow: hidden; border: 1px solid var(--sc2-line); background: rgba(1, 4, 13, .7); box-shadow: inset 0 0 50px rgba(0, 0, 0, .7); }
.sc2-reel-wrap::before, .sc2-reel-wrap::after { content: ""; position: absolute; z-index: 3; top: 0; bottom: 0; width: 18%; pointer-events: none; }
.sc2-reel-wrap::before { left: 0; background: linear-gradient(90deg, #030714, transparent); }
.sc2-reel-wrap::after { right: 0; background: linear-gradient(-90deg, #030714, transparent); }
.sc2-reel-wrap[aria-hidden="true"] { display: none; }
.sc2-reel-marker { position: absolute; z-index: 4; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--sc2-accent-2); box-shadow: 0 0 0 4px rgba(255, 209, 102, .07), 0 0 16px rgba(255, 209, 102, .55); }
.sc2-reel { display: flex; width: max-content; height: 100%; align-items: center; gap: 10px; transform: translateX(0); }
.sc2-reel.is-spinning { animation: sc2-reel-spin var(--sc2-spin-duration, 3300ms) cubic-bezier(.08, .72, .15, 1) forwards; }

.sc2-reel-item { display: flex; width: 118px; height: 136px; flex: 0 0 118px; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 10px; overflow: hidden; border: 1px solid rgba(var(--sc2-accent-rgb), .12); border-radius: 4px; background: rgba(9, 16, 34, .82); color: var(--sc2-muted); font-size: 11px; text-align: center; }
.sc2-reel-item.is-winner { border-color: rgba(255, 209, 102, .78); background: rgba(34, 29, 25, .94); color: var(--sc2-text-bright); box-shadow: 0 0 20px rgba(255, 209, 102, .18); }
.sc2-image-frame { position: relative; display: inline-block; flex: 0 0 auto; line-height: 0; vertical-align: top; }
.sc2-image-frame.has-tooltip { cursor: help; }
.sc2-image-frame.has-tooltip:focus-visible { outline: 2px solid var(--sc2-accent-2, #ffd166); outline-offset: 3px; }
.sc2-reel-item .sc2-image-frame { width: 76px; height: 76px; flex-basis: 76px; }
.sc2-reel-item img, .sc2-image-placeholder { display: block; width: 76px; height: 76px; flex: 0 0 76px; border-radius: 3px; object-fit: cover; background: #111b32; }
.sc2-image-placeholder { display: grid; place-items: center; border: 1px solid var(--sc2-line); color: var(--sc2-accent); font-size: 11px; font-weight: 800; letter-spacing: 0; }
.sc2-fragment-badge { position: absolute; z-index: 2; right: 4px; bottom: 4px; min-width: 29px; padding: 4px 6px; border: 1px solid rgba(255, 231, 153, .78); border-radius: 3px; background: linear-gradient(135deg, rgba(24, 16, 4, .96), rgba(93, 61, 8, .94)); color: #fff0b0; font: 900 12px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: 0; text-align: center; text-shadow: 0 1px 3px #000; box-shadow: 0 2px 9px rgba(0, 0, 0, .68), 0 0 10px rgba(255, 209, 102, .22); }
.sc2-image-tooltip-bubble { position: fixed; z-index: 100000; width: max-content; max-width: min(300px, calc(100vw - 16px)); padding: 9px 11px; border: 1px solid rgba(70, 220, 255, .42); border-radius: 4px; background: rgba(3, 8, 21, .97); color: #dceaff; font: 500 12px/1.55 "Noto Sans SC", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; overflow-wrap: anywhere; white-space: pre-line; pointer-events: none; opacity: 0; transform: translateY(4px); box-shadow: 0 10px 28px rgba(0, 0, 0, .48), inset 0 0 18px rgba(70, 220, 255, .05); transition: opacity .12s ease, transform .12s ease; }
.sc2-image-tooltip-bubble::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 10px; height: 10px; border-right: 1px solid rgba(70, 220, 255, .42); border-bottom: 1px solid rgba(70, 220, 255, .42); background: rgba(3, 8, 21, .97); transform: translateX(-50%) rotate(45deg); }
.sc2-image-tooltip-bubble.is-visible { opacity: 1; transform: translateY(0); }
.sc2-image-tooltip-bubble.is-below { transform: translateY(-4px); }
.sc2-image-tooltip-bubble.is-below.is-visible { transform: translateY(0); }
.sc2-image-tooltip-bubble.is-below::after { top: -6px; bottom: auto; border: 0; border-top: 1px solid rgba(70, 220, 255, .42); border-left: 1px solid rgba(70, 220, 255, .42); }
@keyframes sc2-reel-spin { to { transform: translateX(var(--reel-target)); } }

.sc2-result { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin: 0 clamp(22px, 6vw, 68px) 26px; padding: 20px; border: 1px solid rgba(255, 209, 102, .32); border-left: 3px solid var(--sc2-accent-2); border-radius: 4px; background: linear-gradient(100deg, rgba(255, 209, 102, .09), rgba(7, 12, 27, .72)); }
.sc2-result-icon { width: 82px; height: 82px; flex: 0 0 82px; }
.sc2-result-icon .sc2-image-frame { width: 82px; height: 82px; }
.sc2-result-image { width: 82px; height: 82px; border-radius: 4px; object-fit: cover; }
.sc2-result-empty { display: grid; width: 82px; height: 82px; place-items: center; border: 1px solid var(--sc2-line); background: rgba(0, 0, 0, .24); color: var(--sc2-muted); font-size: 32px; }
.sc2-result-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 3px; }
.sc2-result-label { color: var(--sc2-muted); font-size: 10px; letter-spacing: 0; text-transform: uppercase; }
.sc2-result-copy strong { color: var(--sc2-text-bright); font-size: 21px; overflow-wrap: anywhere; }
.sc2-result-fragments { color: var(--sc2-accent-2); font-weight: 800; }
.sc2-result-universal { color: #bca8ff; font-size: 12px; font-weight: 800; }
.sc2-result-universal-icon { color: #bca8ff; text-shadow: 0 0 16px rgba(167, 124, 255, .7); }
.sc2-result-pity { color: #8cf2c1; font-size: 12px; }
.sc2-event-remaining { color: #a9bfe2; font-size: 11px; }
.sc2-result-actions { display: flex; align-items: stretch; flex-direction: column; gap: 8px; }
.sc2-result-actions .sc2-button { min-height: 42px; white-space: nowrap; }
.sc2-pin-setup-prompt { display: grid; width: 100%; flex: 0 0 100%; grid-template-columns: minmax(0, 1fr) minmax(300px, 1.35fr); gap: 16px; margin-top: 4px; padding: 15px; border: 2px solid #ff596d; border-radius: 5px; background: rgba(128, 19, 34, .18); box-shadow: inset 0 0 24px rgba(255, 61, 85, .08), 0 0 18px rgba(255, 61, 85, .1); }
.sc2-pin-setup-prompt > div > strong { display: block; color: #ffd2d8; font-size: 15px; }
.sc2-pin-setup-prompt p { margin: 5px 0 0; color: #ffb4be; font-size: 11px; }
.sc2-pin-setup-fields { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 8px; }
.sc2-pin-setup-fields label { color: #ffd2d8; font-size: 10px; font-weight: 700; }
.sc2-pin-setup-fields input { display: block; width: 100%; min-height: 40px; margin-top: 5px; padding: 8px 10px; border: 1px solid rgba(255, 113, 128, .62); border-radius: 3px; background: rgba(2, 6, 17, .82); color: #fff; font: 700 14px ui-monospace, Consolas, monospace; }
.sc2-pin-setup-fields input:focus { outline: 2px solid #ff7180; outline-offset: 2px; }
.sc2-pin-setup-fields .sc2-button { min-width: 108px; min-height: 40px; padding: 0 12px; border-color: rgba(255, 113, 128, .8); background: rgba(255, 61, 85, .18); }
.sc2-pin-setup-prompt .sc2-pin-setup-error { color: #ff9ba6; }
.sc2-pin-setup-prompt .sc2-pin-setup-success { color: #8cf2c1; font-weight: 800; }
.sc2-pin-setup-prompt.is-complete { border-color: #62e6a8; background: rgba(20, 104, 73, .16); box-shadow: inset 0 0 24px rgba(98, 230, 168, .07); }

.sc2-progress { margin: 0 clamp(22px, 6vw, 68px) 28px; }
.sc2-progress-header { display: flex; justify-content: space-between; gap: 20px; color: var(--sc2-text); font-size: 13px; }
.sc2-progress-header strong { color: var(--sc2-accent); }
.sc2-progress-track, .sc2-card-track { height: 7px; margin-top: 9px; overflow: hidden; border: 1px solid rgba(var(--sc2-accent-rgb), .14); background: rgba(0, 0, 0, .42); }
.sc2-progress-track span, .sc2-card-track i { display: block; height: 100%; background: linear-gradient(90deg, var(--sc2-accent-3), var(--sc2-accent)); box-shadow: 0 0 12px rgba(var(--sc2-accent-rgb), .4); transition: width .45s; }
.sc2-progress p { color: var(--sc2-muted); font-size: 12px; }

.sc2-lottery-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px clamp(22px, 6vw, 68px); border-top: 1px solid var(--sc2-line); background: rgba(0, 0, 0, .14); color: var(--sc2-muted); font-size: 11px; }
.sc2-lottery-footer a, .nx-entry .sc2-lottery-footer a { border: 0; color: var(--sc2-accent); font-weight: 750; text-decoration: none; }
.sc2-lottery-footer i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #62e6a8; box-shadow: 0 0 8px rgba(98, 230, 168, .7); }

.sc2-event-history { min-width: 0; color: var(--sc2-text); }
.sc2-event-history--modal { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 24px; overflow: hidden; }
.sc2-event-history--modal[hidden] { display: none !important; }
.sc2-event-history--modal .sc2-event-backdrop { position: fixed; z-index: 0; }
.sc2-history-modal-panel { position: relative; z-index: 1; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(720px, 100%); min-width: 0; height: min(820px, calc(100vh - 48px)); height: min(820px, calc(100dvh - 48px)); overflow: hidden; border: 1px solid var(--sc2-line-strong); border-radius: 8px; background: #090f1d; box-shadow: 0 28px 90px rgba(0, 0, 0, .6); }
.sc2-event-history--modal .sc2-event-history-viewport { min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.sc2-event-history--modal .sc2-event-history-track { display: block; width: 100%; min-width: 0; transform: none; transition: none; }
.sc2-event-history--modal .sc2-event-card { display: block; width: 100%; min-width: 0; margin: 0; border: 0; border-radius: 0; }
.sc2-event-history--modal .sc2-event-card-cover { width: 100%; max-height: 300px; }
.sc2-event-history--modal .sc2-event-card-cover img { object-fit: contain; }
.sc2-event-history--modal .sc2-event-card-body { padding: 20px 24px 24px; }
.sc2-event-history--modal .sc2-event-history-head { display: grid; grid-template-columns: minmax(0, 1fr) 40px; gap: 16px; min-width: 0; }
.sc2-event-history--modal .sc2-event-history-head h3 { font-size: 22px; }
.sc2-event-history--modal .sc2-history-close { position: static; display: grid; width: 40px; height: 40px; min-width: 40px; place-items: center; margin: 0; padding: 0; border: 1px solid var(--sc2-line); border-radius: 4px; background: rgba(var(--sc2-accent-rgb), .06); color: var(--sc2-text-bright); font: 26px/1 Arial, sans-serif; cursor: pointer; }
.sc2-event-history--modal .sc2-event-history-foot { min-height: 64px; flex-wrap: wrap; padding: 10px 16px; }
.sc2-event-history--modal .sc2-event-history-controls { align-items: center; gap: 12px; }
.sc2-event-history--modal .sc2-event-history-controls button { width: 40px; height: 40px; }
.sc2-history-page-count { min-width: 60px; color: var(--sc2-text-bright); font-size: 13px; font-variant-numeric: tabular-nums; text-align: center; }
.sc2-event-history--modal button:disabled { opacity: .4; cursor: default; }
.sc2-event-history--modal button:focus-visible { outline: 2px solid var(--sc2-accent-2); outline-offset: 2px; }
.sc2-event-history--modal .sc2-event-description { font-size: 14px; line-height: 1.8; }
.sc2-event-description img, .sc2-event-description video { max-width: 100%; height: auto; }
.sc2-event-description iframe { max-width: 100%; }
.sc2-event-history--modal .sc2-event-lottery-name,
.sc2-event-history--modal .sc2-event-period,
.sc2-event-history--modal .sc2-event-key-mask span,
.sc2-event-history--modal .sc2-event-facts small { font-size: 12px; }
.sc2-event-history--modal .sc2-event-key-mask code { font-size: 12px; }
.sc2-event-history--modal .sc2-event-facts strong { font-size: 16px; }
body.sc2-history-modal-open { overflow: hidden; }
body.sc2-public-dialog-open { overflow: hidden; }
.sc2-event-history--rail { position: sticky; top: 24px; overflow: hidden; border: 1px solid var(--sc2-line-strong); border-radius: 8px; background: rgba(7, 12, 27, .94); box-shadow: 0 22px 60px rgba(0, 0, 0, .32), inset 0 0 44px rgba(var(--sc2-accent-rgb), .035); }
.sc2-event-history-head { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 15px; border-bottom: 1px solid var(--sc2-line); background: rgba(var(--sc2-accent-rgb), .045); }
.sc2-event-history-head span { display: block; color: var(--sc2-accent); font-size: 9px; font-weight: 800; letter-spacing: 0; }
.sc2-event-history-head h3 { margin: 2px 0 0; color: var(--sc2-text-bright); font-size: 18px; letter-spacing: 0; }
.sc2-event-history-controls { display: flex; gap: 5px; }
.sc2-event-history-controls button { display: grid; width: 32px; height: 32px; place-items: center; padding: 0; border: 1px solid var(--sc2-line); border-radius: 3px; background: rgba(var(--sc2-accent-rgb), .04); color: var(--sc2-text); font: 500 22px/1 Arial, sans-serif; cursor: pointer; }
.sc2-event-history-controls button:hover, .sc2-event-history-controls button:focus-visible { border-color: var(--sc2-accent); outline: 0; background: rgba(var(--sc2-accent-rgb), .13); color: #fff; }
.sc2-event-history.is-single .sc2-event-history-controls, .sc2-event-history.is-single .sc2-event-history-dots { visibility: hidden; }
.sc2-event-history-viewport { min-width: 0; overflow: hidden; }
.sc2-event-history-track { display: flex; width: 100%; align-items: stretch; transition: transform .55s cubic-bezier(.2, .72, .25, 1); }
.sc2-event-card { min-width: 0; overflow: hidden; border: 1px solid rgba(var(--sc2-accent-rgb), .14); border-radius: 5px; background: rgba(4, 9, 21, .84); }
.sc2-event-history--rail .sc2-event-card { width: 100%; flex: 0 0 100%; border: 0; border-radius: 0; }
.sc2-event-card-cover { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #071326; }
.sc2-event-card-cover::after { content: ""; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(transparent, rgba(2, 6, 17, .88)); pointer-events: none; }
.sc2-event-card-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sc2-event-cover-placeholder { display: grid; width: 100%; height: 100%; place-content: center; background: linear-gradient(135deg, rgba(var(--sc2-accent-rgb), .18), rgba(167, 124, 255, .08) 48%, rgba(255, 209, 102, .1)); text-align: center; }
.sc2-event-cover-placeholder::before, .sc2-event-cover-placeholder::after { content: ""; position: absolute; border: 1px solid rgba(var(--sc2-accent-rgb), .13); transform: rotate(45deg); }
.sc2-event-cover-placeholder::before { width: 92px; height: 92px; inset: 50% auto auto 50%; transform: translate(-50%, -50%) rotate(45deg); }
.sc2-event-cover-placeholder::after { width: 62px; height: 62px; inset: 50% auto auto 50%; transform: translate(-50%, -50%) rotate(45deg); }
.sc2-event-cover-placeholder b { position: relative; z-index: 1; color: var(--sc2-text-bright); font: 800 29px/1 ui-monospace, Consolas, monospace; text-shadow: 0 0 18px rgba(var(--sc2-accent-rgb), .55); }
.sc2-event-cover-placeholder small { position: relative; z-index: 1; margin-top: 8px; color: var(--sc2-accent); font-size: 8px; font-weight: 800; letter-spacing: 0; }
.sc2-event-state { position: absolute; z-index: 2; right: 10px; bottom: 9px; padding: 4px 7px; border: 1px solid rgba(98, 230, 168, .42); border-radius: 3px; background: rgba(3, 17, 17, .88); color: #8cf2c1; font-size: 9px; font-weight: 800; }
.sc2-event-card.is-ended .sc2-event-state, .sc2-event-card.is-disabled .sc2-event-state, .sc2-event-card.is-exhausted .sc2-event-state { border-color: rgba(255, 113, 128, .35); background: rgba(28, 5, 12, .88); color: #ff9ba6; }
.sc2-event-card.is-upcoming .sc2-event-state { border-color: rgba(255, 209, 102, .4); background: rgba(30, 22, 5, .9); color: #ffe098; }
.sc2-event-card-body { padding: 15px; }
.sc2-event-lottery-name { display: block; color: var(--sc2-accent); font-size: 9px; font-weight: 750; text-transform: uppercase; }
.sc2-event-card h3, .nx-entry .sc2-event-card h3 { margin: 4px 0 7px; padding: 0; color: var(--sc2-text-bright); font-size: 18px; line-height: 1.3; letter-spacing: 0; overflow-wrap: anywhere; }
.nx-entry .sc2-event-card h3::before { display: none; }
.sc2-event-card-body > p, .sc2-event-description { margin: 0 0 12px; color: var(--sc2-muted); font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.sc2-event-description p, .sc2-event-description ul, .sc2-event-description ol { margin: 0 0 8px; }
.sc2-event-description a { color: var(--sc2-accent); }
.sc2-event-key-mask { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 11px 0; padding: 8px 9px; border: 1px solid rgba(var(--sc2-accent-rgb), .15); background: rgba(0, 0, 0, .22); }
.sc2-event-key-mask span { color: var(--sc2-muted); font-size: 8px; }
.sc2-event-key-mask code { padding: 0; background: transparent; color: #dceaff; font: 700 10px/1.3 ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
.sc2-event-key-display { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 11px 0; padding: 9px 10px; border: 1px solid rgba(98, 230, 168, .32); background: rgba(20, 104, 73, .08); }
.sc2-event-key-display span { color: #8cf2c1; font-size: 9px; font-weight: 700; }
.sc2-event-key-display code { min-width: 0; padding: 0; background: transparent; color: #e9fff4; font: 700 11px/1.4 ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
.sc2-event-key-copy { min-height: 30px; padding: 4px 9px; border: 1px solid rgba(98, 230, 168, .45); border-radius: 3px; background: rgba(98, 230, 168, .12); color: #baffd9; font: 700 10px/1.2 var(--nx-font, "Segoe UI", sans-serif); cursor: pointer; }
.sc2-event-key-copy:hover, .sc2-event-key-copy:focus-visible { border-color: #8cf2c1; background: rgba(98, 230, 168, .22); color: #fff; outline: 0; }
.sc2-event-key-unavailable, .sc2-event-key-hidden { margin: 11px 0; padding: 8px 9px; border: 1px solid rgba(255, 209, 102, .24); background: rgba(255, 209, 102, .06); color: #ffe098; font-size: 10px; line-height: 1.5; }
.sc2-event-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.sc2-event-facts > span { padding: 8px 9px; border-left: 2px solid var(--sc2-line-strong); background: rgba(var(--sc2-accent-rgb), .035); }
.sc2-event-facts small { display: block; color: var(--sc2-muted); font-size: 8px; }
.sc2-event-facts strong { display: block; margin-top: 2px; color: var(--sc2-text-bright); font-size: 12px; }
.sc2-event-period { margin-top: 10px; color: var(--sc2-muted); font-size: 9px; }
.sc2-event-period span::before { content: "◷"; margin-right: 5px; color: var(--sc2-accent); }
.sc2-event-history-foot { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--sc2-line); }
.sc2-event-history-foot a { color: var(--sc2-accent); font-size: 10px; font-weight: 750; text-decoration: none; }
.sc2-event-history-dots { display: flex; gap: 5px; }
.sc2-event-history-dots button { width: 16px; height: 4px; padding: 0; border: 0; border-radius: 0; background: rgba(var(--sc2-accent-rgb), .22); cursor: pointer; transition: width .2s, background .2s; }
.sc2-event-history-dots button[aria-current="true"] { width: 28px; background: var(--sc2-accent); box-shadow: 0 0 8px rgba(var(--sc2-accent-rgb), .5); }

.sc2-event-history-page { max-width: 1180px; margin: 36px auto 10px; padding: clamp(24px, 5vw, 42px); border: 1px solid var(--sc2-line); border-radius: 8px; background: linear-gradient(145deg, rgba(var(--sc2-accent-rgb), .045), transparent 42%), var(--sc2-panel); box-shadow: 0 18px 48px rgba(0, 0, 0, .28); }
.sc2-event-history-page-head { margin-bottom: 22px; padding-bottom: 20px; border-bottom: 1px solid var(--sc2-line); }
.sc2-event-history-page-head h2 { margin: 12px 0 7px; color: var(--sc2-text-bright); font-size: 36px; line-height: 1.15; letter-spacing: 0; }
.sc2-event-history-page-head p { max-width: 720px; margin: 0; color: var(--sc2-muted); }
.sc2-event-history--page .sc2-event-history-viewport { overflow: visible; }
.sc2-event-history--page .sc2-event-history-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; transform: none !important; }
.sc2-event-history--page .sc2-event-card { display: flex; min-height: 100%; flex-direction: column; }
.sc2-event-history--page .sc2-event-card-body { display: flex; flex: 1; flex-direction: column; }
.sc2-event-history--page .sc2-event-key-mask { margin-top: auto; }
.sc2-event-history-empty { display: grid; min-height: 220px; place-content: center; border: 1px dashed var(--sc2-line-strong); color: var(--sc2-muted); text-align: center; }
.sc2-event-history-empty span { color: var(--sc2-accent); font-size: 9px; font-weight: 800; letter-spacing: 0; }
.sc2-event-history-empty strong { margin-top: 8px; color: var(--sc2-text-bright); font-size: 18px; }

.sc2-celebration { --celebration-main: #46dcff; --celebration-bright: #eafcff; position: absolute; z-index: 20; inset: 0; display: grid; min-height: 430px; place-items: center; overflow: hidden; pointer-events: none; }
.sc2-celebration::before { content: ""; position: absolute; inset: 0; background: rgba(1, 4, 13, .62); opacity: 0; animation: sc2-celebration-dim 2.5s ease both; }
.sc2-celebration-field { position: absolute; width: min(520px, 92vw); aspect-ratio: 1; }
.sc2-celebration-ring { position: absolute; inset: 18%; border: 2px solid var(--celebration-main); border-radius: 50%; opacity: 0; box-shadow: 0 0 30px color-mix(in srgb, var(--celebration-main) 50%, transparent); }
.sc2-celebration-ring:nth-child(2) { inset: 30%; border-style: dashed; }
.sc2-celebration-core { position: absolute; inset: 40%; border: 2px solid var(--celebration-bright); background: color-mix(in srgb, var(--celebration-main) 28%, transparent); box-shadow: 0 0 38px var(--celebration-main); transform: rotate(45deg) scale(0); }
.sc2-celebration-particles { position: absolute; inset: 50%; }
.sc2-celebration-particles i { --ray: 0deg; --distance: 190px; position: absolute; width: 4px; height: 32px; margin: -16px -2px; border-radius: 1px; background: var(--celebration-bright); box-shadow: 0 0 10px var(--celebration-main); opacity: 0; transform: rotate(var(--ray)) translateY(0); }
.sc2-celebration-winner { position: absolute; z-index: 3; inset: 24% 24%; display: grid; place-items: center; opacity: 0; transform: translateY(22px) scale(.35) rotate(-18deg); filter: drop-shadow(0 0 18px var(--celebration-main)); }
.sc2-celebration-winner img { display: block; width: min(230px, 42vw); height: min(230px, 42vw); border: 3px solid var(--celebration-bright); border-radius: 18px; object-fit: cover; box-shadow: 0 0 30px color-mix(in srgb, var(--celebration-main) 80%, transparent), 0 16px 40px rgba(0,0,0,.5); }
.sc2-celebration-particles i:nth-child(2) { --ray: 22.5deg; --distance: 150px; }
.sc2-celebration-particles i:nth-child(3) { --ray: 45deg; --distance: 210px; }
.sc2-celebration-particles i:nth-child(4) { --ray: 67.5deg; --distance: 170px; }
.sc2-celebration-particles i:nth-child(5) { --ray: 90deg; --distance: 205px; }
.sc2-celebration-particles i:nth-child(6) { --ray: 112.5deg; --distance: 160px; }
.sc2-celebration-particles i:nth-child(7) { --ray: 135deg; --distance: 195px; }
.sc2-celebration-particles i:nth-child(8) { --ray: 157.5deg; --distance: 145px; }
.sc2-celebration-particles i:nth-child(9) { --ray: 180deg; --distance: 215px; }
.sc2-celebration-particles i:nth-child(10) { --ray: 202.5deg; --distance: 165px; }
.sc2-celebration-particles i:nth-child(11) { --ray: 225deg; --distance: 200px; }
.sc2-celebration-particles i:nth-child(12) { --ray: 247.5deg; --distance: 155px; }
.sc2-celebration-particles i:nth-child(13) { --ray: 270deg; --distance: 205px; }
.sc2-celebration-particles i:nth-child(14) { --ray: 292.5deg; --distance: 175px; }
.sc2-celebration-particles i:nth-child(15) { --ray: 315deg; --distance: 195px; }
.sc2-celebration-particles i:nth-child(16) { --ray: 337.5deg; --distance: 150px; }
.sc2-celebration-copy { position: relative; z-index: 10; display: flex; max-width: min(520px, 88vw); align-items: center; flex-direction: column; padding: 28px; color: var(--celebration-bright); text-align: center; text-shadow: 0 0 18px var(--celebration-main); opacity: 0; transform: translateY(16px) scale(.94); pointer-events: auto; }
.sc2-celebration-copy span { color: var(--celebration-main); font-size: 10px; font-weight: 900; letter-spacing: 0; }
.sc2-celebration-copy strong { margin: 7px 0; color: var(--celebration-bright); font-size: 42px; line-height: 1; letter-spacing: 0; }
.sc2-celebration-copy small { color: #dceaff; font-size: 13px; font-weight: 800; }
.sc2-celebration.is-plasma { --celebration-main: #46dcff; --celebration-bright: #ecfdff; }
.sc2-celebration.is-gold { --celebration-main: #ffd166; --celebration-bright: #fff6ce; }
.sc2-celebration.is-void { --celebration-main: #a77cff; --celebration-bright: #e9deff; }
.sc2-celebration.is-burst { --celebration-main: #ff7180; --celebration-bright: #ffe7eb; }
.sc2-celebration.is-rainbow { --celebration-main: #46dcff; --celebration-bright: #ffffff; }
.sc2-celebration.is-shards { --celebration-main: #62e6a8; --celebration-bright: #e9fff4; }
.sc2-celebration.is-nova { --celebration-main: #fff1a8; --celebration-bright: #ffffff; }
.sc2-celebration.is-playing .sc2-celebration-ring:first-child { animation: sc2-celebration-ring 1.5s cubic-bezier(.1, .7, .2, 1) both; }
.sc2-celebration.is-playing .sc2-celebration-ring:nth-child(2) { animation: sc2-celebration-ring 1.8s .12s cubic-bezier(.1, .7, .2, 1) both reverse; }
.sc2-celebration.is-playing .sc2-celebration-core { animation: sc2-celebration-core 1.3s .08s ease-out both; }
.sc2-celebration.is-playing .sc2-celebration-particles i { animation: sc2-celebration-particle 1.2s .15s ease-out both; }
.sc2-celebration.is-playing .sc2-celebration-copy { animation: sc2-celebration-copy 2.35s .15s ease both; }
.sc2-celebration.is-playing .sc2-celebration-winner { animation: sc2-celebration-winner 2.35s .08s cubic-bezier(.15,.75,.2,1) both; }
.sc2-celebration.is-nova .sc2-celebration-field { filter: drop-shadow(0 0 22px var(--celebration-main)) drop-shadow(0 0 38px var(--celebration-bright)); }
.sc2-celebration.is-void .sc2-celebration-ring:nth-child(2) { border-color: var(--celebration-bright); }
.sc2-celebration.is-burst .sc2-celebration-core { inset: 34%; border-radius: 50%; transform: scale(0); }
.sc2-celebration.is-burst .sc2-celebration-ring { border-width: 5px; }
.sc2-celebration.is-rainbow .sc2-celebration-field { filter: saturate(1.45) drop-shadow(0 0 18px var(--celebration-main)); }
.sc2-celebration.is-shards .sc2-celebration-particles { inset: 0; }
.sc2-celebration.is-shards .sc2-celebration-particles i { --rain-x: 0px; --rain-delay: 0s; --rain-rotate: 0deg; top: -20px; left: 50%; width: 8px; height: 26px; margin: 0; border-radius: 1px; transform: translateX(var(--rain-x)) rotate(var(--rain-rotate)); }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(2) { --rain-x: -180px; --rain-delay: .08s; --rain-rotate: 22deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(3) { --rain-x: 160px; --rain-delay: .16s; --rain-rotate: -28deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(4) { --rain-x: -90px; --rain-delay: .24s; --rain-rotate: 13deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(5) { --rain-x: 70px; --rain-delay: .32s; --rain-rotate: -17deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(6) { --rain-x: -230px; --rain-delay: .4s; --rain-rotate: 30deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(7) { --rain-x: 220px; --rain-delay: .48s; --rain-rotate: -24deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(8) { --rain-x: -35px; --rain-delay: .56s; --rain-rotate: 8deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(9) { --rain-x: 125px; --rain-delay: .64s; --rain-rotate: -12deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(10) { --rain-x: -145px; --rain-delay: .72s; --rain-rotate: 19deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(11) { --rain-x: 35px; --rain-delay: .8s; --rain-rotate: -9deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(12) { --rain-x: -200px; --rain-delay: .88s; --rain-rotate: 26deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(13) { --rain-x: 190px; --rain-delay: .96s; --rain-rotate: -22deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(14) { --rain-x: -115px; --rain-delay: 1.04s; --rain-rotate: 16deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(15) { --rain-x: 95px; --rain-delay: 1.12s; --rain-rotate: -14deg; }
.sc2-celebration.is-shards .sc2-celebration-particles i:nth-child(16) { --rain-x: -5px; --rain-delay: 1.2s; --rain-rotate: 4deg; }
.sc2-celebration.is-playing.is-shards .sc2-celebration-particles i { animation: sc2-celebration-shard-rain 1.9s var(--rain-delay) cubic-bezier(.18,.68,.22,1) both; }
@keyframes sc2-celebration-shard-rain { 0% { opacity: 0; transform: translate(var(--rain-x), -180px) rotate(var(--rain-rotate)); } 12% { opacity: 1; } 82% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(var(--rain-x) + 25px), 430px) rotate(calc(var(--rain-rotate) + 260deg)); } }
.sc2-celebration.is-gold .sc2-celebration-field { filter: drop-shadow(0 0 18px var(--celebration-main)); }
.sc2-celebration.is-gold .sc2-celebration-ring { border-radius: 8%; transform: rotate(45deg); }
.sc2-celebration.is-gold .sc2-celebration-ring:nth-child(2) { border-style: solid; transform: rotate(22deg) scale(.72); }
.sc2-celebration.is-gold .sc2-celebration-core { border-radius: 50%; background: var(--celebration-bright); }
.sc2-celebration.is-playing.is-gold .sc2-celebration-ring:first-child { animation-name: sc2-celebration-star; }
.sc2-celebration.is-playing.is-gold .sc2-celebration-ring:nth-child(2) { animation-name: sc2-celebration-star; animation-delay: .22s; }
.sc2-celebration.is-playing.is-gold .sc2-celebration-particles i { animation-name: sc2-celebration-gold-ray; }
.sc2-celebration.is-void .sc2-celebration-field { filter: drop-shadow(0 0 24px var(--celebration-main)); }
.sc2-celebration.is-void .sc2-celebration-ring { border-style: dashed; border-radius: 42%; transform: rotate(28deg); }
.sc2-celebration.is-void .sc2-celebration-ring:nth-child(2) { border-style: dotted; border-radius: 50%; transform: rotate(-36deg) scale(.8); }
.sc2-celebration.is-void .sc2-celebration-core { border-radius: 50%; background: transparent; }
.sc2-celebration.is-playing.is-void .sc2-celebration-ring:first-child { animation-name: sc2-celebration-void-ring; }
.sc2-celebration.is-playing.is-void .sc2-celebration-ring:nth-child(2) { animation-name: sc2-celebration-void-ring; animation-delay: .25s; }
.sc2-celebration.is-playing.is-void .sc2-celebration-particles i { animation-name: sc2-celebration-void-ray; }
.sc2-celebration.is-playing.is-burst .sc2-celebration-ring { border-width: 6px; border-radius: 50%; }
.sc2-celebration.is-burst .sc2-celebration-core { inset: 34%; border: 0; border-radius: 50%; background: var(--celebration-main); }
.sc2-celebration.is-playing.is-burst .sc2-celebration-ring { animation-name: sc2-celebration-burst-ring; }
.sc2-celebration.is-playing.is-burst .sc2-celebration-ring:nth-child(2) { animation-delay: .08s; }
.sc2-celebration.is-playing.is-burst .sc2-celebration-core { animation-name: sc2-celebration-burst-core; }
.sc2-celebration.is-playing.is-burst .sc2-celebration-particles i { animation-name: sc2-celebration-burst-ray; }
.sc2-celebration.is-rainbow .sc2-celebration-field { filter: saturate(1.8) drop-shadow(0 0 22px var(--celebration-main)); }
.sc2-celebration.is-rainbow .sc2-celebration-ring:first-child { border-image: linear-gradient(90deg, #ff6680, #ffd166, #62e6a8, #46dcff, #a77cff) 1; }
.sc2-celebration.is-rainbow .sc2-celebration-core { border-color: #fff; background: conic-gradient(#ff6680, #ffd166, #62e6a8, #46dcff, #a77cff, #ff6680); }
.sc2-celebration.is-playing.is-rainbow .sc2-celebration-field { animation: sc2-celebration-rainbow-field 2.2s ease both; }
.sc2-celebration.is-playing.is-rainbow .sc2-celebration-particles i { animation-name: sc2-celebration-rainbow-ray; }
.sc2-celebration.is-nova .sc2-celebration-field { filter: drop-shadow(0 0 28px var(--celebration-main)) drop-shadow(0 0 54px var(--celebration-bright)); }
.sc2-celebration.is-nova .sc2-celebration-core { inset: 34%; border-width: 4px; background: var(--celebration-bright); }
.sc2-celebration.is-playing.is-nova .sc2-celebration-ring { animation-name: sc2-celebration-nova-ring; }
.sc2-celebration.is-playing.is-nova .sc2-celebration-ring:nth-child(2) { animation-delay: .16s; }
.sc2-celebration.is-playing.is-nova .sc2-celebration-core { animation-name: sc2-celebration-nova-core; }
.sc2-celebration.is-playing.is-nova .sc2-celebration-particles i { animation-name: sc2-celebration-nova-ray; }
@keyframes sc2-celebration-dim { 15%, 75% { opacity: 1; } 100% { opacity: 0; } }
@keyframes sc2-celebration-ring { 0% { opacity: 0; transform: scale(.2) rotate(0); } 28% { opacity: .95; } 100% { opacity: 0; transform: scale(1.45) rotate(100deg); } }
@keyframes sc2-celebration-core { 0% { opacity: 0; transform: rotate(45deg) scale(0); } 35% { opacity: 1; transform: rotate(135deg) scale(1); } 100% { opacity: 0; transform: rotate(225deg) scale(2.2); } }
@keyframes sc2-celebration-particle { 0% { opacity: 0; transform: rotate(var(--ray)) translateY(0) scaleY(.2); } 24% { opacity: 1; } 100% { opacity: 0; transform: rotate(var(--ray)) translateY(calc(var(--distance) * -1)) scaleY(1); } }
@keyframes sc2-celebration-star { 0% { opacity: 0; transform: scale(.12) rotate(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: scale(1.55) rotate(180deg); } }
@keyframes sc2-celebration-gold-ray { 0% { opacity: 0; transform: rotate(var(--ray)) translateY(0) scaleX(.2); } 22% { opacity: 1; } 100% { opacity: 0; transform: rotate(calc(var(--ray) + 45deg)) translateY(calc(var(--distance) * -1)) scaleX(1.5); } }
@keyframes sc2-celebration-void-ring { 0% { opacity: 0; transform: scale(.25) rotate(0) skew(0); } 32% { opacity: .9; } 100% { opacity: 0; transform: scale(1.45) rotate(-160deg) skew(8deg); } }
@keyframes sc2-celebration-void-ray { 0% { opacity: 0; transform: rotate(var(--ray)) translateY(0) scaleY(.1); } 28% { opacity: .85; } 100% { opacity: 0; transform: rotate(calc(var(--ray) - 80deg)) translateY(calc(var(--distance) * -.7)) scaleY(1.2); } }
@keyframes sc2-celebration-burst-ring { 0% { opacity: 0; transform: scale(.05); } 16% { opacity: 1; } 100% { opacity: 0; transform: scale(1.7); } }
@keyframes sc2-celebration-burst-core { 0% { opacity: 0; transform: scale(.1); } 24% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0; transform: scale(2.8); } }
@keyframes sc2-celebration-burst-ray { 0% { opacity: 0; transform: rotate(var(--ray)) translateY(0) scaleY(.05); } 12% { opacity: 1; } 100% { opacity: 0; transform: rotate(var(--ray)) translateY(calc(var(--distance) * -1.2)) scaleY(1.7); } }
@keyframes sc2-celebration-rainbow-field { 0% { transform: rotate(0) scale(.72); } 100% { transform: rotate(300deg) scale(1.08); } }
@keyframes sc2-celebration-rainbow-ray { 0% { opacity: 0; transform: rotate(var(--ray)) translateY(0); filter: hue-rotate(0); } 24% { opacity: 1; } 100% { opacity: 0; transform: rotate(calc(var(--ray) + 120deg)) translateY(calc(var(--distance) * -1)) ; filter: hue-rotate(220deg); } }
@keyframes sc2-celebration-nova-ring { 0% { opacity: 0; transform: scale(.08) rotate(0); } 22% { opacity: 1; } 100% { opacity: 0; transform: scale(2.1) rotate(260deg); } }
@keyframes sc2-celebration-nova-core { 0% { opacity: 0; transform: rotate(45deg) scale(0); } 28% { opacity: 1; transform: rotate(225deg) scale(1.1); } 100% { opacity: 0; transform: rotate(585deg) scale(3.4); } }
@keyframes sc2-celebration-nova-ray { 0% { opacity: 0; transform: rotate(var(--ray)) translateY(0) scaleY(.2); } 18% { opacity: 1; } 100% { opacity: 0; transform: rotate(calc(var(--ray) + 20deg)) translateY(calc(var(--distance) * -1.35)) scaleY(1.6); } }
@keyframes sc2-celebration-copy { 0%, 8% { opacity: 0; transform: translateY(16px) scale(.94); } 24%, 72% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(-8px) scale(1.03); } }
@keyframes sc2-celebration-winner { 0% { opacity: 0; transform: translateY(28px) scale(.28) rotate(-24deg); } 22% { opacity: 1; transform: translateY(0) scale(1.08) rotate(8deg); } 48% { opacity: 1; transform: translateY(-4px) scale(.94) rotate(-4deg); } 76% { opacity: 1; transform: translateY(0) scale(1) rotate(0); } 100% { opacity: 0; transform: translateY(-18px) scale(1.16) rotate(14deg); } }
.sc2l-celebration-preview-overlay { position: fixed !important; z-index: 100000 !important; inset: 0 !important; width: 100vw !important; height: 100vh !important; min-height: 100vh !important; background: rgba(1,4,13,.94); }
.sc2l-celebration-preview-overlay .sc2-celebration-field { width: min(720px, 90vw); }
.sc2l-celebration-preview-close { position: fixed; z-index: 5; top: 24px; right: 28px; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(0,0,0,.35); color: #fff; cursor: pointer; font-size: 26px; line-height: 1; pointer-events: auto; }
.sc2l-celebration-preview-close:hover, .sc2l-celebration-preview-close:focus-visible { background: rgba(255,255,255,.16); outline: 2px solid var(--celebration-main); outline-offset: 3px; }

.sc2-lookup { max-width: 1180px; margin: 36px auto 10px; padding: clamp(24px, 5vw, 42px); border: 1px solid var(--sc2-line); border-radius: 8px; background: linear-gradient(145deg, rgba(var(--sc2-accent-rgb), .045), transparent 42%), var(--sc2-panel); box-shadow: 0 18px 48px rgba(0, 0, 0, .28); }
.sc2-lookup-heading { padding-bottom: 20px; border-bottom: 1px solid var(--sc2-line); }
.sc2-lookup-heading h2, .nx-entry .sc2-lookup-heading h2 { margin-top: 12px; font-size: clamp(25px, 3.4vw, 36px); }
.sc2-lookup-heading .sc2-handle-help { display: flex; max-width: 760px; align-items: flex-start; gap: 7px; margin-top: 12px; padding: 10px 12px; border-left: 2px solid var(--sc2-accent); background: rgba(var(--sc2-accent-rgb), .06); color: var(--sc2-text); font-size: 12px; }
.sc2-handle-help strong { flex: 0 0 auto; color: var(--sc2-text-bright); }
.sc2-handle-help code { padding: 1px 5px; border: 1px solid rgba(var(--sc2-accent-rgb), .28); border-radius: 3px; background: rgba(0, 0, 0, .24); color: var(--sc2-accent); }
.sc2-lookup-form { padding: 22px 0 6px; }
.sc2-lookup-status { margin: 12px 0; }
.sc2-lookup-results { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--sc2-line); }
.sc2-lookup-summary { display: grid; grid-template-columns: 1.4fr .65fr .9fr 1fr; gap: 10px; margin-bottom: 18px; }
.sc2-lookup-summary > div { min-width: 0; padding: 14px; border: 1px solid rgba(var(--sc2-accent-rgb), .13); border-radius: 4px; background: rgba(var(--sc2-accent-rgb), .045); }
.sc2-lookup-summary span { display: block; margin-bottom: 5px; color: var(--sc2-muted); font-size: 10px; letter-spacing: 0; text-transform: uppercase; }
.sc2-lookup-summary strong { color: var(--sc2-text-bright); font-size: 14px; overflow-wrap: anywhere; }
.sc2-lookup-summary small { display: block; margin-top: 3px; color: var(--sc2-muted); font-size: 9px; font-weight: 500; }
.sc2-lookup-summary small[data-universal-pin-status][data-configured="true"] { color: #8cf2c1; }
.sc2-lookup-summary small[data-universal-pin-status][data-configured="false"] { color: #ff9ba6; }
.sc2-universal-exchange-link, .sc2-card-exchange { margin-top: 8px; padding: 5px 8px; border: 1px solid rgba(167, 124, 255, .45); border-radius: 3px; background: rgba(167, 124, 255, .1); color: #d4c8ff; font: 700 10px/1.2 var(--nx-font, "Segoe UI", sans-serif); cursor: pointer; }
.sc2-universal-exchange-link { display: block; }
.sc2-universal-exchange-link:disabled { cursor: not-allowed; opacity: .45; }
.sc2-universal-exchange-link:not(:disabled):hover, .sc2-card-exchange:hover { border-color: #bca8ff; background: rgba(167, 124, 255, .2); color: #fff; }
.sc2-skin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.sc2-skin-card { display: flex; gap: 14px; min-width: 0; padding: 14px; border: 1px solid var(--sc2-line); border-radius: 4px; background: rgba(4, 9, 21, .75); }
.sc2-skin-card > .sc2-image-frame { width: 82px; height: 82px; flex-basis: 82px; }
.sc2-skin-card-image { width: 82px; height: 82px; flex: 0 0 82px; border-radius: 3px; object-fit: cover; }
.sc2-skin-card-copy { min-width: 0; flex: 1; }
.sc2-skin-card-copy > span { color: var(--sc2-muted); font-size: 10px; }
.sc2-skin-card h3, .nx-entry .sc2-skin-card h3 { margin: 3px 0 6px; padding: 0; color: var(--sc2-text-bright); font-size: 16px; overflow-wrap: anywhere; }
.nx-entry .sc2-skin-card h3::before { display: none; }
.sc2-skin-card strong { color: var(--sc2-accent); font-size: 14px; }
.sc2-skin-card small { color: var(--sc2-muted); font-size: 10px; font-weight: 500; }
.sc2-fulfillment-list { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.sc2-fulfillment { padding: 3px 6px; border: 1px solid rgba(98, 230, 168, .25); border-radius: 3px; background: rgba(98, 230, 168, .08); color: #8cf2c1; font-size: 9px; }
.sc2-fulfillment-processing { border-color: rgba(255, 209, 102, .3); background: rgba(255, 209, 102, .08); color: #ffe098; }
.sc2-fulfillment-rejected { border-color: rgba(255, 113, 128, .3); background: rgba(255, 113, 128, .08); color: #ff9ba6; }
.sc2-fulfillment-none { border-color: var(--sc2-line); background: rgba(var(--sc2-accent-rgb), .035); color: var(--sc2-muted); }
.sc2-card-exchange { display: inline-flex; margin-top: 10px; }

.sc2-history-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sc2-public-panel { max-width: 1180px; margin: 36px auto 10px; padding: clamp(24px, 5vw, 42px); border: 1px solid var(--sc2-line); border-radius: 8px; background: var(--sc2-panel); box-shadow: 0 18px 48px rgba(0, 0, 0, .28); }
.sc2-public-panel > header { padding-bottom: 20px; border-bottom: 1px solid var(--sc2-line); }
.sc2-public-panel h2 { margin: 10px 0 8px; color: var(--sc2-text-bright); font-size: clamp(26px, 3.4vw, 38px); }
.sc2-public-panel header p { max-width: 700px; color: var(--sc2-muted); }
.sc2-leaderboard-wrap { min-width: 0; padding: 20px 0 0; }
.sc2-leaderboard-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sc2-rank-podium { min-width: 0; padding: 18px; border: 1px solid var(--sc2-line); border-top: 2px solid var(--sc2-accent); border-radius: 5px; background: linear-gradient(145deg, rgba(var(--sc2-accent-rgb), .1), rgba(4, 9, 21, .7) 55%); }
.sc2-rank-podium-1 { border-top-color: var(--sc2-accent-2); background: linear-gradient(145deg, rgba(255, 209, 102, .14), rgba(4, 9, 21, .7) 55%); }
.sc2-rank-podium-3 { border-top-color: #8cf2c1; background: linear-gradient(145deg, rgba(98, 230, 168, .1), rgba(4, 9, 21, .7) 55%); }
.sc2-rank-podium-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.sc2-rank-medal { color: var(--sc2-accent); font-size: 11px; font-weight: 800; }
.sc2-rank-podium-1 .sc2-rank-medal { color: var(--sc2-accent-2); }
.sc2-rank-podium-3 .sc2-rank-medal { color: #8cf2c1; }
.sc2-rank-place { color: rgba(var(--sc2-accent-rgb), .24); font: 800 32px/1 var(--nx-font-display, "Segoe UI", sans-serif); }
.sc2-rank-podium-1 .sc2-rank-place { color: rgba(255, 209, 102, .3); }
.sc2-rank-handle { display: block; margin-top: 14px; color: var(--sc2-text-bright); font-size: 16px; overflow-wrap: anywhere; }
.sc2-rank-draws { display: block; margin-top: 2px; color: var(--sc2-muted); font-size: 11px; }
.sc2-rank-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 18px; padding-top: 13px; border-top: 1px solid var(--sc2-line); }
.sc2-rank-stats span { min-width: 0; }
.sc2-rank-stats small { display: block; color: var(--sc2-muted); font-size: 10px; white-space: nowrap; }
.sc2-rank-stats b { display: block; color: var(--sc2-text-bright); font-size: 18px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sc2-leaderboard-rest { margin-top: 25px; overflow-x: auto; }
.sc2-leaderboard-rest[hidden] { display: none; }
.sc2-leaderboard-rest-heading { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 9px; border-bottom: 1px solid var(--sc2-line); color: var(--sc2-text-bright); font-size: 13px; font-weight: 700; }
.sc2-leaderboard-rest-heading small { color: var(--sc2-muted); font-size: 10px; font-weight: 400; }
.sc2-leaderboard-table { width: 100%; margin-top: 4px; border-collapse: collapse; color: var(--sc2-text); font-size: 13px; }
.sc2-leaderboard-table th, .sc2-leaderboard-table td { padding: 12px 10px; border-bottom: 1px solid var(--sc2-line); text-align: right; white-space: nowrap; }
.sc2-leaderboard-table th:first-child, .sc2-leaderboard-table td:first-child, .sc2-leaderboard-table th:nth-child(2), .sc2-leaderboard-table td:nth-child(2) { text-align: left; }
.sc2-leaderboard-table th { color: var(--sc2-muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sc2-leaderboard-table td strong { display: block; color: var(--sc2-text-bright); }
.sc2-leaderboard-table td small { display: block; margin-top: 3px; color: var(--sc2-muted); font-size: 10px; }
.sc2-rank-number { color: var(--sc2-accent); font-weight: 800; }
.sc2-public-loading, .sc2-public-empty { padding: 22px 4px; color: var(--sc2-muted); }
.sc2-public-dialog { position: fixed; z-index: 100001; inset: 0; display: grid; place-items: center; padding: 20px; }
.sc2-public-dialog[hidden] { display: none; }
.sc2-public-dialog-panel { position: relative; z-index: 1; width: min(860px, 100%); max-height: min(820px, calc(100vh - 40px)); overflow: auto; padding: 0 24px 24px; border: 1px solid var(--sc2-line-strong); border-radius: 8px; background: #090f1d; box-shadow: 0 28px 90px rgba(0, 0, 0, .6); }
.sc2-public-dialog-panel > .sc2-event-history-head { display: grid; grid-template-columns: minmax(0, 1fr) 40px; margin: 0 -24px; padding: 14px 24px; }
.sc2-public-dialog-panel h3 { margin: 2px 0 0; color: var(--sc2-text-bright); font-size: 22px; }
.sc2-public-dialog-panel .sc2-history-close { position: static; display: grid; width: 40px; height: 40px; min-width: 40px; place-items: center; margin: 0; padding: 0; border: 1px solid var(--sc2-line); border-radius: 4px; background: rgba(var(--sc2-accent-rgb), .06); color: var(--sc2-text-bright); font: 26px/1 Arial, sans-serif; cursor: pointer; }
.sc2-public-dialog-panel .sc2-history-close:hover, .sc2-event-history--modal .sc2-history-close:hover { border-color: var(--sc2-accent); background: rgba(var(--sc2-accent-rgb), .13); color: #fff; }
.sc2-public-dialog-panel .sc2-history-close:focus-visible { outline: 2px solid var(--sc2-accent-2); outline-offset: 2px; }
.sc2-combo-showcase { min-width: 0; padding-top: 24px; }
.sc2-combo-showcase-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.sc2-combo-showcase-heading h3 { margin: 2px 0 0; color: var(--sc2-text-bright); font-size: 18px; }
.sc2-recent-wins-counter { color: var(--sc2-accent-2); font: 700 13px/1.4 ui-monospace, Consolas, monospace; font-variant-numeric: tabular-nums; }
.sc2-recent-wins-track { position: relative; min-height: 360px; margin-top: 16px; overflow: hidden; border: 1px solid var(--sc2-line-strong); border-radius: 6px; background: linear-gradient(130deg, rgba(var(--sc2-accent-rgb), .08), rgba(4, 9, 21, .92) 48%); }
.sc2-recent-wins-track > .sc2-public-loading, .sc2-recent-wins-track > .sc2-public-empty { display: grid; min-height: 360px; place-items: center; margin: 0; text-align: center; }
.sc2-recent-win { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(160px, 250px) minmax(0, 1fr); gap: clamp(18px, 4vw, 46px); align-items: center; padding: clamp(20px, 4vw, 42px); opacity: 0; transform: translateY(8px); transition: opacity .45s ease, transform .45s ease; pointer-events: none; }
.sc2-recent-win.is-active { opacity: 1; transform: translateY(0); }
.sc2-recent-win-art { width: 100%; aspect-ratio: 1; min-width: 0; max-width: 250px; padding: 9px; border: 1px solid rgba(255, 209, 102, .42); border-radius: 5px; background: rgba(3, 7, 18, .65); box-shadow: 0 0 34px rgba(255, 209, 102, .1); }
.sc2-recent-win-art img, .sc2-recent-win-art .sc2-image-placeholder { display: grid; width: 100%; height: 100%; place-items: center; border-radius: 3px; object-fit: cover; }
.sc2-recent-win-copy { min-width: 0; }
.sc2-recent-win-label { color: var(--sc2-accent); font-size: 11px; font-weight: 800; }
.sc2-recent-win h4 { margin: 10px 0 12px; color: var(--sc2-text-bright); font-size: clamp(22px, 3vw, 34px); line-height: 1.25; overflow-wrap: anywhere; }
.sc2-recent-win p { display: inline-block; margin: 0 0 18px; padding: 7px 10px; border: 1px solid rgba(98, 230, 168, .3); border-radius: 3px; background: rgba(98, 230, 168, .08); color: #8cf2c1; font-size: 13px; font-weight: 800; }
.sc2-recent-win strong { display: block; color: var(--sc2-muted); font-size: 12px; overflow-wrap: anywhere; }
.sc2-recent-win-index { position: absolute; right: 18px; bottom: 8px; color: rgba(var(--sc2-accent-rgb), .12); font: 800 68px/1 var(--nx-font-display, "Segoe UI", sans-serif); pointer-events: none; }
.sc2-recent-wins-controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; }
.sc2-recent-wins-controls[hidden] { display: none; }
.sc2-recent-wins-nav { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; padding: 0; border: 1px solid var(--sc2-line); border-radius: 4px; background: rgba(var(--sc2-accent-rgb), .06); color: var(--sc2-text-bright); font-size: 20px; cursor: pointer; }
.sc2-recent-wins-nav:hover { border-color: var(--sc2-accent); background: rgba(var(--sc2-accent-rgb), .14); }
.sc2-recent-wins-nav:focus-visible, .sc2-recent-wins-dots button:focus-visible { outline: 2px solid var(--sc2-accent-2); outline-offset: 2px; }
.sc2-recent-wins-dots { display: flex; min-width: 0; align-items: center; justify-content: center; gap: 4px; overflow-x: auto; scrollbar-width: thin; }
.sc2-recent-wins-dots button { width: 16px; height: 16px; flex: 0 0 16px; padding: 4px; border: 0; background: transparent; cursor: pointer; }
.sc2-recent-wins-dots button::before { content: ""; display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--sc2-muted); }
.sc2-recent-wins-dots button[aria-current="true"]::before { background: var(--sc2-accent-2); box-shadow: 0 0 9px rgba(255, 209, 102, .6); }

@media (max-width: 640px) {
  .sc2-lottery-app { padding: 8px 0; }
  .sc2-lottery-intro::after { display: none; }
  .sc2-lottery-eyebrow { align-items: flex-start; flex-direction: column; gap: 5px; }
  .sc2-lottery-input-row { flex-direction: column; }
  .sc2-button-primary, .sc2-button-dark { width: 100%; }
  .sc2-result { align-items: flex-start; flex-wrap: wrap; }
  .sc2-result-actions { width: 100%; }
  .sc2-result .sc2-button { width: 100%; }
  .sc2-pin-setup-prompt, .sc2-pin-setup-fields { grid-template-columns: 1fr; }
  .sc2-lottery-footer { align-items: flex-start; flex-direction: column; gap: 7px; }
  .sc2-lookup { padding: 22px 18px; }
  .sc2-lookup-heading .sc2-handle-help { flex-direction: column; }
  .sc2-lookup-summary { grid-template-columns: 1fr; }
  .sc2-skin-grid { grid-template-columns: 1fr; }
	.sc2-public-panel { padding: 22px 18px; }
	.sc2-leaderboard-podium { grid-template-columns: 1fr; }
	.sc2-rank-podium { padding: 14px; }
	.sc2-rank-handle { margin-top: 5px; }
	.sc2-rank-stats { margin-top: 12px; }
	.sc2-leaderboard-rest-heading { display: block; }
	.sc2-leaderboard-rest-heading small { display: block; margin-top: 2px; }
	.sc2-leaderboard-rest { overflow: visible; }
	.sc2-leaderboard-table, .sc2-leaderboard-table tbody { display: block; width: 100%; }
	.sc2-leaderboard-table thead { display: none; }
	.sc2-leaderboard-table tr { display: grid; grid-template-columns: 38px repeat(3, minmax(0, 1fr)); padding: 10px 0; border-bottom: 1px solid var(--sc2-line); }
	.sc2-leaderboard-table td { min-width: 0; padding: 3px 5px; border: 0; text-align: center; white-space: normal; overflow-wrap: anywhere; }
	.sc2-leaderboard-table td:first-child { grid-row: 1 / 3; align-self: center; text-align: left; }
	.sc2-leaderboard-table td:nth-child(2) { grid-column: 2 / -1; text-align: left; }
	.sc2-leaderboard-table td:nth-child(n + 3)::before { display: block; color: var(--sc2-muted); font-size: 9px; }
	.sc2-leaderboard-table td:nth-child(3)::before { content: "通用"; }
	.sc2-leaderboard-table td:nth-child(4)::before { content: "皮肤"; }
	.sc2-leaderboard-table td:nth-child(5)::before { content: "集齐"; }
	.sc2-public-dialog { padding: 10px; }
	.sc2-public-dialog-panel { max-height: calc(100vh - 20px); padding: 0 16px 18px; }
	.sc2-public-dialog-panel > .sc2-event-history-head { margin: 0 -16px; padding: 12px 16px; }
	.sc2-recent-wins-track, .sc2-recent-wins-track > .sc2-public-loading, .sc2-recent-wins-track > .sc2-public-empty { min-height: 300px; }
	.sc2-recent-win { grid-template-columns: 100px minmax(0, 1fr); gap: 14px; padding: 18px; }
	.sc2-recent-win-art { padding: 5px; }
	.sc2-recent-win h4 { font-size: 20px; }
	.sc2-recent-win p { font-size: 11px; }
	.sc2-recent-win-index { font-size: 48px; }
	.sc2-event-history-page { padding: 22px 18px; }
	.sc2-event-history-page-head h2 { font-size: 28px; }
	.sc2-event-history--page .sc2-event-history-track { grid-template-columns: 1fr; }
	.sc2-event-history--modal { padding: 12px; }
	.sc2-history-modal-panel { height: min(820px, calc(100vh - 24px)); height: min(820px, calc(100dvh - 24px)); }
	.sc2-event-history--modal .sc2-event-history-head { min-height: 64px; padding: 12px; }
	.sc2-event-history--modal .sc2-event-card-body { padding: 16px; }
	.sc2-event-history--modal .sc2-event-history-foot { padding: 8px 12px; gap: 8px; }
	.sc2-event-key-display { grid-template-columns: minmax(0, 1fr) auto; }
	.sc2-event-key-display span { grid-column: 1 / -1; }
	.sc2-history-heading-row h2, .nx-entry .sc2-history-heading-row h2 { font-size: 24px; }
	.sc2-celebration-copy strong { font-size: 32px; }
}

@media (max-width: 390px) {
	.sc2-recent-win { grid-template-columns: 1fr; align-content: center; gap: 12px; }
	.sc2-recent-win-art { width: 100px; }
	.sc2-recent-win h4 { margin: 5px 0 8px; }
	.sc2-recent-win p { margin-bottom: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.sc2-recent-win { transition: none; transform: none; }
}

@media (max-width: 1050px) {
	.sc2-lottery-stage { grid-template-columns: 1fr; }
	.sc2-event-history--rail { position: static; }
	.sc2-event-history--rail .sc2-event-card { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); }
	.sc2-event-history--rail .sc2-event-card-cover { height: 100%; aspect-ratio: auto; }
	.sc2-event-history--page .sc2-event-history-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.sc2-event-history--rail .sc2-event-card { display: block; }
	.sc2-event-history--rail .sc2-event-card-cover { height: auto; aspect-ratio: 16 / 9; }
	.sc2-event-history--page .sc2-event-history-track { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .sc2-reel.is-spinning { animation-duration: .01ms; animation-iteration-count: 1; }
  .sc2-lottery-form.is-loading .sc2-button-primary { animation: none; }
	.sc2-event-history-track { transition: none !important; }
	.sc2-celebration-field { display: none; }
	.sc2-celebration-copy { opacity: 1; transform: none; animation: none !important; }
	.sc2-celebration::before { opacity: 1; animation: none; }
  .sc2-lottery-app *, .sc2-lookup *, .sc2-event-history-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
