/* Rewards screen: day reward on top (two weeks of six days and a chest, one button), then compact
   rows for tasks and goals. Colours follow the Dragons screen: green is "ready, take it", gold is a
   chest or a reward, blue is everything else. */
.rewards-v2 { display:grid; gap:16px; }
.rw-head { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:34px; margin:2px 2px 0; }
.rw-head h1 { margin:0; color:#fff; font:30px/1 DraklyBlack,'Trebuchet MS',sans-serif; letter-spacing:-.03em; text-shadow:0 3px 0 #125390,0 5px 8px #0b3367aa; }
.rewards-v2 .ready-chip .icon { width:14px; height:14px; }
.rw-chip { display:inline-flex; align-items:center; gap:5px; min-height:26px; padding:3px 10px; border:2px solid #9fe6ff; border-radius:999px; color:#fff; background:#0b4689; font:12px DraklyBlack,'Trebuchet MS',sans-serif; white-space:nowrap; font-variant-numeric:tabular-nums; }
.rw-chip .icon { width:14px; height:14px; color:#bdf3ff; }
.rw-chip b { font:inherit; }

/* Day card. */
.rewards-v2 .rw-day { padding:14px 12px 12px; border-radius:24px; }
.rewards-v2 .rw-day .day-card__head { align-items:center; flex-direction:row; padding:0 4px; }
.rewards-v2 .rw-day .day-card__head h2 { margin:0; font-size:26px; }
.rewards-v2 .day-strip { grid-template-columns:repeat(6,minmax(0,1fr)) minmax(0,1.55fr); gap:5px; margin:10px 0 0; }
.rewards-v2 .day-strip + .day-strip { margin-top:6px; }
.rewards-v2 .day-cell { position:relative; gap:1px; min-height:64px; padding:4px 0 5px; border:2px solid #83d7f5; border-radius:14px; color:#fff; background:linear-gradient(#3a95d2,#155a9c); box-shadow:inset 0 2px #e9ffff55,0 3px 0 #0a4485; }
.rewards-v2 .day-cell__n { color:#d6f3ff; font:11px/1 DraklyBlack,'Trebuchet MS',sans-serif; }
.rewards-v2 .day-cell__mark { display:grid; justify-items:center; gap:1px; min-height:0; }
.rewards-v2 .day-cell__mark .ui-icon { width:22px; height:22px; }
.rewards-v2 .day-cell__mark b { font:13px/1 DraklyBlack,'Trebuchet MS',sans-serif; text-shadow:0 1px 0 #0b4f93; }
.rewards-v2 .day-cell__check { position:absolute; top:-6px; right:-5px; display:grid; place-items:center; width:20px; height:20px; border:2px solid #e4ffd8; border-radius:50%; background:linear-gradient(#8ff07a,#2fb54b); box-shadow:0 2px 0 #13702c; }
.rewards-v2 .day-cell__check .icon { width:12px; height:12px; color:#fff; }
.rewards-v2 .day-cell.is-claimed { border-color:#7fcfe6; background:linear-gradient(#2d7fb1,#164f80); box-shadow:inset 0 2px #e9ffff33,0 2px 0 #0a3f75; }
.rewards-v2 .day-cell.is-claimed .day-cell__mark { opacity:.55; }
.rewards-v2 .day-cell.is-next { border-style:dashed; border-color:#bdf3ff; }
/* Today, ready to take: gold and alive. */
.rewards-v2 .day-cell.is-today { border-color:#fff3c4; background:linear-gradient(#ffe9a0,#f0b84f); box-shadow:inset 0 2px #fffbe0,0 3px 0 #a86a12,0 0 16px #ffd36b99; }
.rewards-v2 .day-cell.is-today .day-cell__n { color:#5a3a0a; }
.rewards-v2 .day-cell.is-today .day-cell__mark b { color:#5a3a0a; text-shadow:0 1px 0 #fff3c4; }
.rewards-v2 .day-cell.is-claimable { animation:rw-bob 1.6s ease-in-out infinite; }
.rewards-v2 .day-cell.is-today.is-claimed { animation:none; border-color:#e4ffd8; background:linear-gradient(#8ff07a,#2fb54b); box-shadow:inset 0 2px #f2ffe8,0 3px 0 #13702c; }
.rewards-v2 .day-cell.is-today.is-claimed .day-cell__n { color:#fff; }
.rewards-v2 .day-cell.is-today.is-claimed .day-cell__mark { opacity:1; }
.rewards-v2 .day-cell.is-today.is-claimed .day-cell__mark b { color:#fff; text-shadow:0 1px 0 #13702c; }
/* The chest closes each week. */
.rewards-v2 .day-cell.is-chest { padding-top:5px; border-color:#fff1bd; background:radial-gradient(circle at 50% 62%,#ffe7a1 0,#f3a93b55 42%,transparent 70%),linear-gradient(#2f87c6,#124f8f); }
.rewards-v2 .day-cell.is-chest .day-cell__n { color:#ffe9a0; }
.rewards-v2 .day-cell__chest { width:50px; height:auto; margin-top:-2px; filter:drop-shadow(0 3px 3px #0008); }
.rewards-v2 .day-cell.is-chest.is-claimed .day-cell__chest { filter:grayscale(.4) brightness(.8) drop-shadow(0 3px 3px #0008); }
.rewards-v2 .day-cell.is-chest.is-today:not(.is-claimed) { background:radial-gradient(circle at 50% 62%,#fffbe0 0,#ffd36baa 46%,transparent 74%),linear-gradient(#ffe9a0,#f0b84f); }
.rewards-v2 .day-cell.is-chest.is-today .day-cell__n { color:#5a3a0a; }
.rewards-v2 .day-card__act { margin-top:12px; }
.rewards-v2 .day-card__claim { min-height:56px; font-size:18px; }
.rewards-v2 .day-card__claim .ui-icon, .rewards-v2 .day-card__claim .icon { width:24px; height:24px; }
.rw-note { margin:8px 4px 0; color:#cdeeff; font-size:12px; line-height:1.35; text-align:center; }

/* Sections. */
.rw-group { display:grid; gap:8px; }
.rw-group__head { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:30px; margin:0 2px; }
.rw-group__head h2 { margin:0; color:#fff; font:22px/1.1 DraklyBlack,'Trebuchet MS',sans-serif; text-shadow:0 2px 0 #125390; }
.rw-group__head small { color:#cdeeff; font-size:12px; }
.rw-label { margin:6px 2px 0; color:#bfe9ff; font:12px DraklyBlack,'Trebuchet MS',sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.rw-list { display:grid; gap:8px; }

/* One row: picture, title with a bar, the reward, one small action. */
.rw-row { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:72px; padding:8px 10px 8px 8px; border:2px solid #8ddcf8; border-radius:18px; color:#fff; background:linear-gradient(160deg,#2a82c4f0,#0d4a8ef5); box-shadow:inset 0 2px #eaffff55,0 4px 0 #0a4c91; }
.rw-row__art { display:grid; place-items:center; width:52px; height:52px; border:2px solid #b2efff; border-radius:14px; background:radial-gradient(circle at 50% 40%,#bff4ff 0,#62c6f3 38%,#1767bd 100%); box-shadow:inset 0 2px #ffffff88,0 2px 0 #0b4692; }
.rw-row__art .ui-icon { width:36px; height:36px; filter:drop-shadow(0 2px 2px #0006); }
.rw-row__art .icon { width:26px; height:26px; color:#fff; filter:drop-shadow(0 2px 0 #0b4692); }
.rw-row__art .promo-partner-icon { width:100%; height:100%; border-radius:12px; object-fit:cover; }
.rw-row__body { display:grid; gap:5px; min-width:0; }
.rw-row__body strong { display:-webkit-box; overflow:hidden; color:#fff; font:14px/1.2 DraklyBlack,'Trebuchet MS',sans-serif; text-shadow:0 1px 0 #0d4e98; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow-wrap:anywhere; }
.rw-bar { position:relative; display:block; height:16px; overflow:hidden; border:2px solid #0a3f7c; border-radius:999px; background:#08295c; box-shadow:inset 0 2px 3px #00163d99; }
.rw-bar > span { position:absolute; inset:0 auto 0 0; border-radius:999px; background:linear-gradient(#7fe0ff,#2b97e0); box-shadow:inset 0 2px #e6fbff99; }
.rw-bar b { position:relative; display:grid; place-items:center; height:100%; color:#fff; font:10px/1 DraklyBlack,'Trebuchet MS',sans-serif; text-shadow:0 1px 0 #0a3a78,0 0 3px #0a3a78; font-variant-numeric:tabular-nums; }
.rw-row__reward { display:flex; align-items:center; gap:3px; overflow:hidden; color:#d6f3ff; font-size:12px; white-space:nowrap; }
.rw-row__reward .ui-icon { width:15px; height:15px; }
.rw-row__act:empty { display:none; }
.rw-row:has(.rw-row__act:empty) { grid-template-columns:52px minmax(0,1fr); }
.rewards-v2 .rw-row__act .btn.rw-claim:not(.secondary):not(.subtle) { width:auto; min-width:0; max-width:none; min-height:44px; margin:0; padding:0 14px; border-color:#e4ffd8; border-bottom-color:#13702c; border-radius:999px; background:linear-gradient(#8ff07a,#2fb54b); box-shadow:inset 0 2px #f2ffe8,0 3px 0 #13702c; color:#fff; font:15px DraklyBlack,'Trebuchet MS',sans-serif; text-shadow:0 1px 0 #13702c; }
.rw-go { display:grid; place-items:center; width:44px; height:44px; padding:0; border:2px solid #bdeeff; border-radius:50%; color:#fff; background:linear-gradient(#5fd0f5,#1588d0); box-shadow:inset 0 2px #ffffff99,0 3px 0 #0a4c91; }
.rw-go .icon { width:20px; height:20px; }
.rw-go:active, .rewards-v2 .rw-row__act .btn.rw-claim:not(.secondary):not(.subtle):active { transform:translateY(3px); box-shadow:none; }
.rw-go:disabled, .rw-go.is-locked { border-color:#7fb8d8; color:#bcd9ea; background:#174f86; box-shadow:none; }
.rw-done { display:grid; place-items:center; width:36px; height:36px; margin-right:4px; border:2px solid #e4ffd8; border-radius:50%; background:linear-gradient(#8ff07a,#2fb54b); box-shadow:0 2px 0 #13702c; }
.rw-done .icon { width:18px; height:18px; color:#fff; }
.rw-row.is-ready { border-color:#c9ffb8; box-shadow:inset 0 2px #eaffff55,0 4px 0 #0a4c91,0 0 0 2px #6fe07a66,0 0 16px #8ff07a55; }
.rw-row.is-ready .rw-bar > span { background:linear-gradient(#8ff07a,#2fb54b); }
.rw-row.is-claimed { border-color:#6db7dd; background:linear-gradient(160deg,#1f6aa6e6,#0b3f7bf0); box-shadow:inset 0 2px #eaffff33,0 3px 0 #0a3f75; }
.rw-row.is-claimed .rw-row__body, .rw-row.is-claimed .rw-row__art { opacity:.7; }
.rw-row.is-claimed .rw-bar > span { background:linear-gradient(#8ff07a,#2fb54b); }

/* All three daily quests: a chest. */
.rw-chest { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px 14px 8px 8px; border:2px solid #fff1bd; border-radius:18px; color:#fff; background:radial-gradient(circle at 30px 50%,#ffe7a1aa 0,transparent 60px),linear-gradient(160deg,#2a82c4f0,#0d4a8ef5); box-shadow:inset 0 2px #fff6d966,0 4px 0 #0a4c91; }
.rw-chest img { width:56px; height:auto; filter:drop-shadow(0 3px 3px #0008); }
.rw-chest__body { display:grid; gap:6px; min-width:0; }
.rw-chest__body strong { font:14px/1.2 DraklyBlack,'Trebuchet MS',sans-serif; text-shadow:0 1px 0 #0d4e98; }
.rw-steps { display:flex; gap:4px; }
.rw-steps i { flex:1; height:10px; border:2px solid #0a3f7c; border-radius:999px; background:#08295c; }
.rw-steps i.is-on { border-color:#a86a12; background:linear-gradient(#ffe9a0,#f0b84f); }
.rw-chest > b { font:16px DraklyBlack,'Trebuchet MS',sans-serif; font-variant-numeric:tabular-nums; }
.rw-chest.is-open { border-color:#e4ffd8; }
.rw-unlock { display:flex; align-items:flex-start; gap:8px; margin:0; padding:10px 12px; border:2px dashed #8ddcf8aa; border-radius:16px; color:#d6f3ff; background:#0b3f7b99; font-size:12px; line-height:1.4; }
.rw-unlock .icon { flex:none; width:16px; height:16px; margin-top:1px; }

/* Tabs: Today, Promo, Goals. A green count is a reward to take, a muted one is promo left today. */
.rw-tabs { position:sticky; top:calc(var(--safe-top,0px) + var(--hud-h,56px) + 4px); z-index:3; display:grid; grid-auto-columns:minmax(0,1fr); grid-auto-flow:column; gap:4px; padding:4px; border:2px solid #8ddcf8; border-radius:999px; background:#0b3f7bf2; box-shadow:0 4px 0 #0a4c91,0 6px 12px #00163d55; }
.rw-tab { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:0 8px; border:0; border-radius:999px; color:#cdeeff; background:transparent; font:14px DraklyBlack,'Trebuchet MS',sans-serif; white-space:nowrap; }
.rw-tab.is-on { color:#fff; background:linear-gradient(#5fd0f5,#1588d0); box-shadow:inset 0 2px #ffffff99,0 2px 0 #0a4c91; text-shadow:0 1px 0 #0a4c91; }
.rw-tab__n { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border:2px solid #e4ffd8; border-radius:999px; color:#fff; background:linear-gradient(#8ff07a,#2fb54b); font:11px/1 DraklyBlack,'Trebuchet MS',sans-serif; font-variant-numeric:tabular-nums; text-shadow:0 1px 0 #13702c; }
.rw-tab__n.is-muted { border-color:#8ddcf8; background:#0d4a8e; text-shadow:none; }
.rw-tab:focus-visible { outline:3px solid #fff2af; outline-offset:2px; }
.rw-panel { display:grid; gap:16px; }

/* The day reward once taken: one line, a tap opens the track. */
.rewards-v2 .rw-day.is-compact { padding:8px; }
.rw-day-mini { display:grid; grid-template-columns:44px minmax(0,1fr) 20px; align-items:center; gap:10px; width:100%; padding:0 4px 0 0; border:0; color:#fff; background:none; text-align:left; }
.rw-day-mini__mark { display:grid; place-items:center; width:44px; height:44px; border:2px solid #8ddcf8; border-radius:50%; background:#174f86; }
.rw-day-mini__mark.is-done { border-color:#e4ffd8; background:linear-gradient(#8ff07a,#2fb54b); box-shadow:0 2px 0 #13702c; }
.rw-day-mini__mark .icon { width:20px; height:20px; color:#fff; }
.rw-day-mini__text { display:grid; gap:4px; min-width:0; }
.rw-day-mini__text strong { font:16px/1.1 DraklyBlack,'Trebuchet MS',sans-serif; text-shadow:0 1px 0 #0d4e98; }
.rw-day-mini__text small { overflow:hidden; color:#d6f3ff; font-size:12px; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.rw-day-mini__text .rw-bar { height:12px; }
.rw-day-mini__text .rw-bar b { font-size:9px; }
.rw-day-mini__chev { width:18px; height:18px; color:#bdf3ff; }
.rw-day.is-compact .day-ad { margin-top:8px; padding:8px 4px 0; }
.rw-day-fold { display:grid; place-items:center; flex:none; width:36px; height:36px; margin-left:auto; padding:0; border:2px solid #8ddcf8; border-radius:50%; color:#fff; background:#174f86; }
.rw-day-fold .icon { width:16px; height:16px; transform:rotate(180deg); }
.rewards-v2 .rw-day .day-card__head { gap:8px; }

/* Promo rows: the task row with a how-to that opens under it. */
.rw-promo { min-height:64px; }
.rw-promo .rw-row__body { gap:3px; }
.rw-row__note { color:#ffd27a; font-size:12px; line-height:1.3; }
.rw-more { display:inline-flex; align-items:center; gap:3px; justify-self:start; min-height:24px; padding:0; border:0; color:#bdf3ff; background:none; font:12px DraklyBold,'Trebuchet MS',sans-serif; text-decoration:underline; text-underline-offset:2px; }
.rw-more .icon { width:12px; height:12px; }
.rw-promo.is-open .rw-more .icon { transform:rotate(180deg); }
.rw-promo__more { display:grid; grid-column:1 / -1; gap:8px; padding:8px 2px 2px; border-top:2px solid #8ddcf855; }
.rw-promo__more .mini { margin:0; color:#d6f3ff; font-size:12px; line-height:1.4; }
.rw-promo__more .promo-warn { margin:0; color:#ffd27a; font-size:12px; line-height:1.4; }
.rw-promo__more .btn { width:auto; min-height:40px; margin:0; }
.rw-check { min-height:40px; padding:0 12px; border:2px solid #bdeeff; border-radius:999px; color:#fff; background:linear-gradient(#5fd0f5,#1588d0); box-shadow:inset 0 2px #ffffff99,0 3px 0 #0a4c91; font:13px DraklyBlack,'Trebuchet MS',sans-serif; text-shadow:0 1px 0 #0a4c91; white-space:nowrap; }
.rw-check:active { transform:translateY(3px); box-shadow:none; }
.rw-check:disabled { border-color:#7fb8d8; color:#bcd9ea; background:#174f86; box-shadow:none; text-shadow:none; }

@keyframes rw-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
@media (max-width:370px) {
  .rewards-v2 .rw-day { padding-inline:9px; }
  .rewards-v2 .day-strip { gap:4px; }
  .rewards-v2 .day-cell { min-height:58px; border-radius:12px; }
  .rewards-v2 .day-cell__mark .ui-icon { width:18px; height:18px; }
  .rewards-v2 .day-cell__chest { width:42px; }
  .rw-row { grid-template-columns:46px minmax(0,1fr) auto; gap:8px; }
  .rw-row__art { width:46px; height:46px; }
  .rewards-v2 .rw-row__act .btn.rw-claim:not(.secondary):not(.subtle) { padding:0 11px; font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .rewards-v2 .day-cell.is-claimable { animation:none; } }

/* Friends page (renderFriends): links, the two lines, the invited friends and their conditions. */
.friends-screen .friend-lines { margin-top:10px; }
.friend-rules { display:grid; gap:7px; margin:4px 0 0; padding-left:18px; color:#d7e9ed; font-size:13px; line-height:1.45; }
.friend-rules b { color:#ffe4a3; }
.friend-rules .rw-chip { margin-left:4px; vertical-align:middle; }
.friend-link { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 8px; margin-top:12px; }
.friend-link > span { grid-column:1 / -1; color:#bddbe0; font-size:12px; }
.friend-link code { overflow:hidden; padding:7px 9px; border:1px solid #81bfcb; border-radius:10px; color:#fff; background:#0e3853; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.friend-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:4px; }
.friend-totals span { display:grid; gap:2px; padding:8px 10px; border:1px solid #81bfcb; border-radius:10px; color:#bddbe0; background:#0e3853; font-size:11px; }
.friend-totals b { color:#ffe4a3; font-size:14px; font-variant-numeric:tabular-nums; }
.friend-list { display:grid; gap:8px; margin:6px 0 0; padding:0; list-style:none; }
.friend-row { display:grid; gap:6px; padding:10px 11px; border:1px solid #81bfcb; border-radius:12px; background:#0e3853; }
.friend-row.is-active { border-color:#8ff07a; }
.friend-row__head { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.friend-row__head strong { overflow:hidden; color:#fff; text-overflow:ellipsis; white-space:nowrap; }
.friend-row__checks { display:flex; flex-wrap:wrap; gap:4px 12px; color:#d7e9ed; font-size:12px; }
.friend-row__checks span { display:inline-flex; align-items:center; gap:4px; }
.friend-row small { color:#bddbe0; font-size:11px; }
.friend-row small b { color:#ffe4a3; }
.friend-check { width:14px; height:14px; color:#ff9b8a; }
.friend-check.ok { color:#8ff07a; }

/* Player-first reward guide; full terms remain available in each disclosure. */
.rules-screen { display:grid; gap:14px; }
.rules-screen .screen-heading { padding-bottom:0; }
.rules-screen .screen-heading h1 { margin-bottom:3px; }
.rules-screen .feature-card { margin:0; }
.rules-hero { display:grid; grid-template-columns:minmax(0,1fr) 92px; gap:4px; align-items:center; min-height:192px; border-color:#f7d889; background:radial-gradient(circle at 89% 33%,#e9a34755,transparent 35%),linear-gradient(145deg,#287fc2,#104d90 55%,#0a3979); }
.rules-hero__copy { position:relative; z-index:1; min-width:0; }
.rules-hero h2 { margin:7px 0 5px; font-size:25px; }
.rules-hero p { margin:0 0 12px; font-size:13px; }
.rules-hero__art { display:grid; place-items:center; align-self:center; width:92px; height:100px; border-radius:50%; background:radial-gradient(circle,#ffdb82aa,transparent 71%); }
.rules-hero__art img { width:86px; height:86px; object-fit:contain; filter:drop-shadow(0 6px 5px #06284d99); }
.rules-hero__art .ui-icon { width:62px; height:62px; color:#ffe3a1; }
.rules-hero__action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; width:auto; margin:0; padding:7px 14px; }
.rules-hero__action .icon { width:16px; height:16px; }
.rules-hero__progress { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; margin:0 0 12px; color:#ffe9af; font:14px DraklyBlack,'Trebuchet MS',sans-serif; }
.rules-meter { overflow:hidden; height:9px; border:1px solid #93cee4; border-radius:99px; background:#092e5d; }
.rules-meter i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#f4b941,#fff2af); }
.rules-ways h2 { margin:5px 0 12px; font-size:22px; }
.rules-sources { display:grid; gap:7px; }
.rules-source { display:grid; grid-template-columns:44px minmax(0,1fr) 18px; align-items:center; gap:9px; width:100%; min-height:58px; padding:5px 8px; border:1px solid #79c7e7; border-radius:12px; color:#fff; background:#0b4681; text-align:left; }
.rules-source:active { transform:translateY(2px); }
.rules-source__art { display:grid; place-items:center; width:42px; height:42px; border-radius:11px; background:#1e6caf; }
.rules-source__art .ui-icon,.rules-source__art img { width:34px; height:34px; object-fit:contain; }
.rules-source__copy { display:grid; gap:2px; min-width:0; }
.rules-source__copy strong { font:15px/1.1 DraklyBold,'Trebuchet MS',sans-serif; }
.rules-source__copy small { color:#cce9fb; font-size:12px; line-height:1.25; }
.rules-source > .icon { width:17px; height:17px; color:#b4e9fa; }
.rules-detail { margin-top:12px; border-top:1px solid #8dd2e266; }
.rules-detail summary { min-height:44px; padding:12px 4px 2px; color:#ccefff; font:13px DraklyBold,'Trebuchet MS',sans-serif; cursor:pointer; }
.rules-detail[open] summary { margin-bottom:11px; }
.rules-detail .friend-rules { margin:0 0 5px; }
.rules-detail h3 { margin:15px 0 7px; color:#fff; font:17px DraklyBold,'Trebuchet MS',sans-serif; }
.rules-detail .mini { margin-top:11px; }
.rules-league__top,.rules-league__footer { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.rules-state { padding:4px 9px; border:1px solid #a9dbed; border-radius:99px; color:#d8f2ff; font:11px DraklyBold,'Trebuchet MS',sans-serif; }
.rules-league__main { display:grid; grid-template-columns:minmax(0,1fr) 64px; gap:4px; align-items:center; }
.rules-league__main h2 { margin:10px 0 5px; }
.rules-league__main p { margin:0 0 14px; }
.rules-league__egg { width:64px; height:64px; object-fit:contain; filter:drop-shadow(0 5px 4px #06284d99); }
.rules-league__footer { min-height:49px; padding:6px 0 0; border-top:1px solid #8dd2e266; }
.rules-league__footer > span { display:flex; align-items:center; gap:6px; color:#e4f6ff; font-size:12px; line-height:1.25; }
.rules-league__footer .ui-icon { flex:none; width:21px; height:21px; }
.rules-league__footer .btn { flex:none; min-height:42px; margin:0; }
.rules-token { border-color:#82bfd9; background:linear-gradient(145deg,#164666,#103750 55%,#0b2a45); }
.rules-token p { margin:4px 0 0; }
.season-cash { display:grid; gap:11px; min-width:0; }
.season-cash-card { min-width:0; }
.season-cash-card h2 { overflow-wrap:anywhere; }
.season-cash-card.cash-v2 h2 small { display:block; margin-top:4px; font:12px/1.3 DraklyBold,'Trebuchet MS',sans-serif; color:#d6ecff; }
.season-cash-card.cash-v2 .cash-meta { overflow-wrap:anywhere; line-height:1.4; }
.season-cash-card p:last-child,.season-cash > .mini { margin-bottom:0; }
.rules-screen :is(button,summary):focus-visible { outline:3px solid #fff2af; outline-offset:3px; }
@media(max-width:370px) {
 .rules-screen { gap:11px; }
 .rules-hero { grid-template-columns:minmax(0,1fr) 70px; min-height:183px; }
 .rules-hero__art { width:70px; height:80px; }
 .rules-hero__art img { width:68px; height:68px; }
 .rules-hero__art .ui-icon { width:50px; height:50px; }
 .rules-hero h2 { font-size:22px; }
 .rules-league__footer { align-items:flex-start; flex-direction:column; }
 .rules-league__footer .btn { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .rules-source:active { transform:none; } }

#daily-title { scroll-margin-top:calc(var(--safe-top,0px) + var(--hud-h,56px) + 12px); }
.rules-formula { margin:8px 0; padding:10px 12px; border-radius:10px; background:rgba(255,228,163,.08); color:#ffe4a3; font:600 16px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-align:center; }
.rules-card ol.friend-rules { padding-left:20px; }

/* The code and the combo of the day (ambassador.py). */
.dly-art { overflow:hidden; padding:2px; }
.dly-art img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 2px 2px #0007); }
.dly-entry { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.dly-input { min-width:0; height:44px; padding:0 14px; border:2px solid #8ddcf8; border-radius:14px; color:#fff; background:#08295c; font:18px/1 DraklyBlack,'Trebuchet MS',sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.dly-input::placeholder { color:#7fb8d8; font-size:14px; letter-spacing:0; text-transform:none; }
.dly-input:focus { outline:none; border-color:#ffe08a; box-shadow:0 0 0 3px #ffe08a55; }
.rewards-v2 .dly-entry .btn.dly-send { width:auto; min-width:0; min-height:44px; margin:0; padding:0 18px; border-radius:14px; }
.dly-combo { display:grid; gap:10px; }
.dly-slots { display:grid; grid-template-columns:repeat(3,64px); justify-content:center; gap:12px; }
.dly-slot { display:grid; place-items:center; width:64px; height:64px; overflow:hidden; border:2px dashed #8ddcf8aa; border-radius:16px; color:#8ddcf8; background:#08295c; font:26px DraklyBlack,'Trebuchet MS',sans-serif; }
.dly-slot.is-on { border:2px solid #ffe08a; background:radial-gradient(circle,#ffe9a0 0,#f0b84f 70%); }
.dly-slot img { width:100%; height:100%; object-fit:cover; }
.dly-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(84px,1fr)); gap:8px; max-height:min(46dvh,420px); overflow:auto; padding:2px; }
.dly-dragon { display:grid; justify-items:center; gap:4px; padding:6px 4px; border:2px solid #8ddcf866; border-radius:14px; color:#fff; background:#0b3f7b; font:11px/1.15 DraklyBlack,'Trebuchet MS',sans-serif; }
.dly-dragon img { width:56px; height:56px; border-radius:12px; object-fit:cover; }
.dly-dragon span { overflow-wrap:anywhere; text-align:center; }
.dly-dragon.is-on { border-color:#ffe08a; background:linear-gradient(#2a82c4,#0d4a8e); box-shadow:0 0 0 2px #ffe08a88; }
.dly-check { margin-top:2px; }
.amb-chip img { width:18px; height:18px; object-fit:contain; }
.dly-note { color:#ffe08a; font-size:12px; line-height:1.3; }
.amb-promo-grid { display:grid; gap:10px; margin-top:10px; }
.amb-promo-card { overflow:hidden; border:1px solid #81bfcb; border-radius:14px; background:#0e3853; }
.amb-promo-card img { display:block; width:100%; height:auto; aspect-ratio:16 / 9; object-fit:cover; }
.amb-promo-card__row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; }
.amb-promo-card__row strong { color:#fff; font-size:14px; }

/* Turnover bonuses of an ambassador (friends screen). */
.amb-bonus { display:grid; gap:8px; }
.amb-bonus h2 { margin:0; }
.amb-bonus__bar { margin-top:2px; }
.amb-bonus__steps { display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:6px; margin:4px 0 0; padding:0; list-style:none; }
.amb-bonus__step { display:grid; gap:2px; padding:8px; border:2px solid #8ddcf866; border-radius:12px; background:#0b3f7b; text-align:center; }
.amb-bonus__step b { font:15px DraklyBlack,'Trebuchet MS',sans-serif; color:#fff; }
.amb-bonus__step span { color:#ffe08a; font-weight:700; }
.amb-bonus__step small { color:#cdeeff; font-size:11px; }
.amb-bonus__step.is-due { border-color:#ffe08a; box-shadow:0 0 0 2px #ffe08a55; }
.amb-bonus__step.is-paid { border-color:#8ff07a; opacity:.85; }
.amb-bonus__due { color:#ffe08a; font-weight:700; }
