/* Quests board and daily activity tracker (audit item 10). Style: docs/ui-style-guide.md section 0a —
   slate-navy panels with a thin gold trim, Rubik, glossy buttons, rarity frames like Warcraft Rumble. */
:root{--quest-common:#4fbf3a;--quest-common-lo:#1f6b18;--quest-rare:#4c9dff;--quest-rare-lo:#1a4a9c;--quest-epic:#b07af2;--quest-epic-lo:#4a2385}

/* ---- Quest board (Quests popup) ---- */
.quest-board{display:grid;gap:12px;font-family:var(--wr-font-body)}
.quest-board__head{display:flex;flex-wrap:wrap;gap:8px}
.quest-chip{flex:1 1 140px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 12px;border-radius:10px;background:linear-gradient(180deg,#232a44,#171c30);box-shadow:inset 0 0 0 1px #ffcf4d33,inset 0 1px 0 #ffffff14}
.quest-chip span{font:600 12px/1.2 var(--wr-font-body);color:var(--wr-text-dim);letter-spacing:.02em}
.quest-chip b{font:800 16px/1 var(--wr-font-display);color:var(--wr-gold);font-variant-numeric:tabular-nums;text-shadow:var(--wr-text-shadow)}
.quest-chip--timer b{color:#fff}
.quest-board__list{display:grid;grid-template-columns:1fr;gap:12px;max-width:560px;margin-inline:auto}
.quest-board__empty{margin:6px 0;color:var(--wr-text-dim)}
/* a quest card, Warcraft Rumble style: a rarity banner, up to three Minis to choose from (a pedestal, a level pill and a Play button each), the XP and a time plaque */
.quest-card{--rar:var(--quest-common);--rar-lo:var(--quest-common-lo);position:relative;display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:0 0 10px;border-radius:12px;overflow:hidden;
 background:linear-gradient(180deg,#323b5c 0,#2b3350 30%,#1d2338 100%);box-shadow:inset 0 0 0 1px #0b0e1c,inset 0 0 0 2px color-mix(in srgb,var(--rar) 55%,transparent),0 6px 16px #0007,inset 0 1px 0 #ffffff1f}
.quest-card--rare{--rar:var(--quest-rare);--rar-lo:var(--quest-rare-lo)}
.quest-card--epic{--rar:var(--quest-epic);--rar-lo:var(--quest-epic-lo)}
.quest-card.is-ready{box-shadow:inset 0 0 0 1px #0b0e1c,inset 0 0 0 2px var(--wr-gold),0 0 18px #ffcf4d66,0 6px 16px #0007}
.quest-banner{position:relative;padding:7px 6px 6px;text-align:center;background:linear-gradient(180deg,var(--rar),var(--rar-lo));box-shadow:inset 0 -2px 0 #0006,inset 0 1px 0 #ffffff55}
.quest-banner::before,.quest-banner::after{content:'';position:absolute;top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e8ecf8,#6b7088 70%);box-shadow:0 0 0 1px #0b0e1c}
.quest-banner::before{left:4px}.quest-banner::after{right:4px}
.quest-banner__title{margin:0;font:900 17px/1.1 var(--wr-font-display);color:#fff;text-shadow:0 1px 0 #0009,0 0 6px #0006}
.quest-banner__reward{margin:3px 0 0;font:700 12px/1.2 var(--wr-font-body);color:#fff3c8;text-shadow:0 1px 0 #0008}
.quest-units{display:grid;grid-template-columns:repeat(var(--n,1),minmax(0,1fr));gap:6px;padding:0 8px;justify-items:stretch}
.quest-unit{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;min-width:0}
.quest-unit.is-away .quest-card__art img{filter:grayscale(.55) brightness(.8) drop-shadow(0 3px 4px #000a)}
.quest-units[data-n="1"]{grid-template-columns:minmax(0,180px);justify-content:center}.quest-units[data-n="2"]{grid-template-columns:repeat(2,minmax(0,150px));justify-content:center}
.quest-card__art{position:relative;width:100%;aspect-ratio:1/1.05;display:grid;place-items:end center}
.quest-card__art img{position:relative;z-index:2;display:block;width:92%;height:auto;max-height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px #000a)}
.quest-card__initial{position:relative;z-index:2;display:grid;place-items:center;font:900 38px/1 var(--wr-font-display);color:#fff}
.quest-pedestal{position:absolute;z-index:1;left:12%;right:12%;bottom:2px;height:16px;border-radius:50%;background:radial-gradient(ellipse at 50% 35%,#7d85a0,#3b4160 70%);box-shadow:0 3px 0 #1a1d2e,0 0 0 2px #0d0f1c}
.quest-level{display:flex;align-items:center;gap:0;border-radius:999px;overflow:hidden;box-shadow:0 0 0 1.5px #1a0d33;background:#1a0f33;font:800 10px/1 var(--wr-font-body);color:#fff}
.quest-level b{display:grid;place-items:center;min-width:19px;height:19px;background:linear-gradient(180deg,#a56bff,#6a2fc8);font:900 11px/1 var(--wr-font-display)}
.quest-level span{padding:0 7px 0 5px;font-variant-numeric:tabular-nums;color:#e4d4ff}
.quest-card__name{max-width:100%;text-align:center;font:800 12px/1.15 var(--wr-font-display);color:#fff;text-shadow:var(--wr-text-shadow);overflow-wrap:anywhere}
.quest-card__info{min-width:0;display:grid;justify-items:center;gap:3px;padding:0 6px}
.quest-card__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 8px;margin:0;font:600 10px/1.25 var(--wr-font-body);color:var(--wr-text-dim)}
.quest-card__level{color:#ffd9a0}
.quest-card__reward{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px}
.quest-card__xp{font:900 16px/1 var(--wr-font-display);color:var(--wr-gold);text-shadow:var(--wr-text-shadow)}
.quest-card__mult{padding:1px 5px;border-radius:6px;font:800 10px/1.2 var(--wr-font-display);font-style:normal;color:#fff;background:var(--rar-lo);box-shadow:0 0 0 1px var(--rar)}
.quest-card__points{font:600 10px/1.2 var(--wr-font-body);color:#9fe7ff}
.quest-card__note{font:500 10px/1.3 var(--wr-font-body);color:#ffb4a8;text-align:center}
.quest-plaque{margin:0 8px;padding:4px 6px;border-radius:8px;text-align:center;background:linear-gradient(180deg,#0e1222,#161b30);box-shadow:inset 0 2px 4px #000c,0 0 0 1.5px #646b84;font:700 10px/1.2 var(--wr-font-body);color:#cdd6f7}
.quest-card__time{font-variant-numeric:tabular-nums}
.quest-card.is-ready .quest-plaque{color:var(--wr-gold);box-shadow:inset 0 2px 4px #000c,0 0 0 1.5px #ffd76a}
.quest-card__go{margin:2px 0 0;min-width:0;width:100%;min-height:38px;font-size:14px!important}
.quest-card__claim{width:auto;margin:0 12px;min-height:44px;font-size:16px!important}
.quest-card__go:disabled{filter:saturate(.35) brightness(.8)}

/* ---- World map daily rewards, the Warcraft Rumble way: three plates of three sections that fill with progress, then three round reward medallions ---- */
:root #world-action-dock .daily-progress.daily-progress--points{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:center;min-width:84px}
:root #world-action-dock .daily-bar{position:relative;height:30px;border-radius:11px;overflow:hidden;background:linear-gradient(180deg,#07090f,#12162a);box-shadow:inset 0 3px 6px #000,inset 0 -1px 0 #ffffff14,0 0 0 2px #646b84,0 0 0 3px #1b1f30,0 2px 0 3px #0d0b12}
/* the liquid: a glossy fill that grows sideways with a soft shimmer, gold once the bar is complete */
:root #world-action-dock .daily-bar .daily-fill{position:absolute;left:0;top:0;bottom:0;border-radius:11px;background:linear-gradient(180deg,#b6f0ff 0,#4cb4f2 42%,#2478d2 58%,#1a4f9c 100%);box-shadow:0 0 10px #4cb4f2aa,inset 0 1px 0 #ffffffcc;transition:width .7s cubic-bezier(.2,.8,.2,1);overflow:hidden}
:root #world-action-dock .daily-bar .daily-fill::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff55 50%,transparent 70%);background-size:200% 100%;animation:daily-shimmer 2.6s linear infinite}
:root #world-action-dock .daily-bar .daily-fill::after{content:'';position:absolute;left:0;right:0;top:0;height:42%;background:linear-gradient(180deg,#ffffff66,#ffffff00);border-radius:11px 11px 0 0}
:root #world-action-dock .daily-bar.full{box-shadow:inset 0 3px 6px #000,0 0 0 2px #ffd76a,0 0 0 3px #3a2a0a,0 0 10px #ffd76a88}
:root #world-action-dock .daily-bar.full .daily-fill{background:linear-gradient(180deg,#fff0a8 0,#ffc94a 42%,#e08a1d 58%,#a85a0c 100%);box-shadow:0 0 12px #ffc94acc,inset 0 1px 0 #ffffffcc}
@keyframes daily-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){:root #world-action-dock .daily-bar .daily-fill::before{animation:none}:root #world-action-dock .daily-bar .daily-fill{transition:none}}
:root #world-action-dock .daily-track button{width:50px!important;height:50px!important;border-radius:50%!important;border:3px solid #7b829b!important;box-shadow:inset 0 2px 5px #000a,0 2px 0 #0d0b12,0 0 0 1.5px #1b1f30!important}
:root #world-action-dock .daily-track button.ready{border-color:#ffd76a!important}
:root #world-action-dock .reward-claimed{width:26px;height:26px;right:-8px;top:auto;bottom:-6px;font-size:17px;box-shadow:0 0 0 2px #0d0b12,0 1px 4px #000a}
#world-action-dock .reward-need{position:absolute;left:3px;bottom:2px;font:800 9px/1 var(--wr-font-body);color:#fff;text-shadow:0 1px 0 #000,0 0 3px #000}
#world-action-dock .reward-icon--capsule{width:22px;height:28px;border-radius:11px;background:linear-gradient(180deg,#9fd0ff 0 45%,#2f78e0 45% 55%,#1a4a9c 55%);box-shadow:0 0 0 1.5px #0d1a33,inset 0 1px 0 #ffffff80,0 2px 3px #0008}
#world-action-dock .reward-icon--mega{background:linear-gradient(180deg,#e9c8ff 0 38%,#4a2385 38% 47%,#9b5ce0 47%);position:relative}
#world-action-dock .reward-icon--mega::after{content:'';position:absolute;left:50%;top:7px;width:7px;height:8px;transform:translateX(-50%);border-radius:2px;background:linear-gradient(#fff3c4,#ffcf4d);box-shadow:0 0 0 1px #2a1606}

/* ---- Daily reward icons. Tomes and the two choices are rendered 3D art (assets/ui/tomes, tools/blender/tome-icons.py): chunky tomes with gold corner studs, a strap and an
   embossed emblem (the size sets the thickness and the glowing panel, the family the cover colour and emblem), a helmet medallion for a Troop Choice and a crown
   medallion for a Leader Choice. Gold and the Rare Capsule use the game's own icons (assets/ui), the same ones as the shop and the Sigil Road. ---- */
:root #world-action-dock .reward-icon--tome,:root #world-action-dock .reward-icon--coins,:root #world-action-dock .reward-icon--capsule,:root #world-action-dock .reward-icon--troop-choice,:root #world-action-dock .reward-icon--leader-choice{position:relative;display:block;width:40px;height:40px;border-radius:0;box-shadow:none;clip-path:none;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 2px 2px #000a)}
:root #world-action-dock .reward-icon--tome::before,:root #world-action-dock .reward-icon--tome::after{content:none;display:none}
:root #world-action-dock .reward-icon--coins,:root #world-action-dock .reward-icon--capsule{width:36px;height:36px}
:root #world-action-dock .reward-icon--coins{background-image:url(assets/ui/gold.png?v=af562d697b5f4258)}
:root #world-action-dock .reward-icon--coins[data-amount="500"]{background-image:url(assets/ui/gold.png?v=af562d697b5f4258),url(assets/ui/gold.png?v=af562d697b5f4258);background-size:27px,27px;background-position:20% 70%,80% 30%}
:root #world-action-dock .reward-icon--coins[data-amount="1000"]{width:40px;background-image:url(assets/ui/gold.png?v=af562d697b5f4258),url(assets/ui/gold.png?v=af562d697b5f4258),url(assets/ui/gold.png?v=af562d697b5f4258);background-size:26px,26px,26px;background-position:10% 78%,90% 70%,50% 22%}
:root #world-action-dock .reward-icon--coins[data-mega]{filter:drop-shadow(0 0 6px #ffd76add)}
:root #world-action-dock .reward-icon--capsule{background-image:url(assets/ui/rare_core.png?v=805ea5ecd3ab16dc)}
:root #world-action-dock .reward-icon--troop-choice{background-image:url(assets/ui/tomes/choice-troop.png?v=ce89164d676306ce)}
:root #world-action-dock .reward-icon--leader-choice{background-image:url(assets/ui/tomes/choice-leader.png?v=5f7c72183c5d7083)}
:root #world-action-dock .reward-icon--troop-choice::after,:root #world-action-dock .reward-icon--leader-choice::after{content:none;display:none}
/* the Tome and choice dialogs: the line under the title */
.tome-popup .tome-kind{margin:-4px 0 6px;font:800 13px/1.2 var(--wr-font-body,system-ui);letter-spacing:.05em;text-transform:uppercase;color:#f3d58a;text-align:center}
.tome-popup .daily-choice-shards{display:block;margin-top:2px;font:800 12px/1 var(--wr-font-body,system-ui);color:#9fe7ff}

/* ---- Quests popup refreshes in place (Claim, new quest): the claimed card fades and folds away, a new one slides in, the scroll stays ---- */
.quest-board{overflow-anchor:none}
.quest-card.is-leaving{opacity:0;transform:scale(.96);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.quest-card.is-folding{transition:opacity .25s ease,transform .25s ease,height .28s ease,margin-bottom .28s ease,padding .28s ease}
.quest-card.is-entering{animation:quest-card-in .45s cubic-bezier(.2,.8,.3,1) both}
@keyframes quest-card-in{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
.quest-chip b.is-bump{animation:quest-chip-bump .45s ease-out}
@keyframes quest-chip-bump{40%{transform:scale(1.22)}}
/* Play / "+ Army" fit their Mini's column: the glossy button keeps its look but wraps and drops the wide side padding */
/* :is(#lobby-panel,body) lifts it over style.css #lobby-panel button padding when the board is a lobby page */
:is(#lobby-panel,body) .quest-card .quest-card__go:not(.quest-card__claim){max-width:100%;padding-inline:4px;white-space:normal;line-height:1.05;text-align:center;overflow-wrap:anywhere}
.quest-card .quest-card__army,:is(#lobby-panel,body) .quest-card .quest-card__army{white-space:nowrap}

/* ---- Daily rewards tracker in the Quests popup (replaces "Completed today"): the world map's liquid bars at chip size, the points and the next reward's icon ---- */
.quest-board__head.has-daily .quest-chip--timer{flex:0 1 auto}
.quest-chip.quest-daily{flex:1 1 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 8px;padding:6px 10px 7px 12px}
.quest-daily__top{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}
.quest-daily__top span{white-space:nowrap}
.quest-daily.is-ready .quest-daily__top span{color:var(--wr-gold)}
.quest-chip .quest-daily__top b small{margin-left:1px;font-size:12px;color:var(--wr-text-dim)}
.quest-daily__bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.quest-daily__bar{position:relative;display:block;height:10px;overflow:hidden;border-radius:5px;background:linear-gradient(180deg,#07090f,#12162a);box-shadow:inset 0 2px 3px #000,inset 0 -1px 0 #ffffff14,0 0 0 1.5px #646b84,0 0 0 2.5px #1b1f30}
.quest-daily__bar>s{position:absolute;left:0;top:0;bottom:0;overflow:hidden;border-radius:5px;background:linear-gradient(180deg,#b6f0ff 0,#4cb4f2 42%,#2478d2 58%,#1a4f9c 100%);box-shadow:0 0 8px #4cb4f2aa,inset 0 1px 0 #ffffffcc;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.quest-daily__bar>s::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff55 50%,transparent 70%);background-size:200% 100%;animation:daily-shimmer 2.6s linear infinite}
.quest-daily__bar.full{box-shadow:inset 0 2px 3px #000,0 0 0 1.5px #ffd76a,0 0 0 2.5px #3a2a0a,0 0 8px #ffd76a88}
.quest-daily__bar.full>s{background:linear-gradient(180deg,#fff0a8 0,#ffc94a 42%,#e08a1d 58%,#a85a0c 100%);box-shadow:0 0 10px #ffc94acc,inset 0 1px 0 #ffffffcc}
.quest-daily__next{position:relative;display:block;width:28px;height:28px;background:center/contain no-repeat;filter:drop-shadow(0 2px 2px #000a)}
.quest-daily__next>em{position:absolute;left:-4px;bottom:-4px;font:800 11px/1 var(--wr-font-body);font-style:normal;color:#fff;text-shadow:0 1px 0 #000,0 0 3px #000}
.quest-daily.is-ready .quest-daily__next{animation:quest-daily-glow 1.8s ease-in-out infinite}
@keyframes quest-daily-glow{0%,100%{filter:drop-shadow(0 2px 2px #000a)}50%{filter:brightness(1.15) drop-shadow(0 0 8px #ffd77a)}}
.quest-daily.is-done .quest-daily__next{width:24px;height:24px;margin:2px;border-radius:50%;background:radial-gradient(ellipse 80% 50% at 50% 12%,#ffffff70,#fff0 70%),var(--wr-brass,linear-gradient(180deg,#ffeaa6,#e8b445 50%,#b07a1c));box-shadow:0 0 0 1.5px #10142a,0 2px 3px #0008;filter:none}
.quest-daily.is-done .quest-daily__next::after{content:'';position:absolute;left:7px;top:5px;width:6px;height:10px;border:solid #3a2306;border-width:0 3px 3px 0;transform:rotate(40deg)}
.quest-daily.is-done .quest-daily__next>em{display:none}
@media (prefers-reduced-motion:reduce){.quest-card.is-leaving,.quest-card.is-folding,.quest-daily__bar>s{transition:none}.quest-card.is-entering,.quest-chip b.is-bump,.quest-daily__bar>s::before,.quest-daily.is-ready .quest-daily__next{animation:none}}
html.reduce-motion .quest-card.is-leaving,html.reduce-motion .quest-card.is-folding,html.reduce-motion .quest-daily__bar>s{transition:none}
html.reduce-motion .quest-card.is-entering,html.reduce-motion .quest-chip b.is-bump,html.reduce-motion .quest-daily__bar>s::before,html.reduce-motion .quest-daily.is-ready .quest-daily__next{animation:none}

/* ===== Phone review (W9): compact quest cards, icon chips, the next-reward count on the tome =====
   Two or three quests fit a 412x860 phone: a slimmer banner without the "Reward:" words, a smaller Mini, and for a one-Mini quest the
   portrait on the left with the chips (XP icon + amount, enemy level hex, daily-point pip) and the time beside it. A won quest has no
   "Won · claim" plaque (its Claim button says it). The points needed for the next daily reward are a small count badge on the tome. */
.quest-board__list{width:100%;box-sizing:border-box}
.quest-card{gap:6px}
.quest-banner{padding:5px 6px 4px}
.quest-card__art{width:min(100%,84px);margin-inline:auto}
.quest-card__info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px}
.quest-card__reward,.quest-card__level,.quest-card__points{cursor:pointer;-webkit-tap-highlight-color:transparent}
.quest-card__xp{display:inline-flex;align-items:center;gap:4px;font-size:19px}
.quest-card__xp-icon{width:22px;height:22px;filter:drop-shadow(0 1px 1px #000a)}
.quest-card__meta{display:inline-flex;margin:0}
.quest-card__level{position:relative;display:inline-grid;place-items:center;width:30px;height:33px;color:#e8794a;filter:drop-shadow(0 2px 2px #0008)}
.quest-hex{position:absolute;inset:0;display:block}.quest-hex>svg{display:block;width:100%;height:100%}
.quest-card__level>b{position:relative;font:900 14px/1 var(--wr-font-display);color:#fff;text-shadow:0 1px 0 #000a}
.quest-card__points{display:inline-flex;align-items:center;gap:4px;font:800 14px/1 var(--wr-font-display);color:#9fe7ff}
.quest-pip{display:block;width:16px;height:10px;border-radius:5px;background:linear-gradient(180deg,#b6f0ff 0,#4cb4f2 42%,#2478d2 58%,#1a4f9c 100%);box-shadow:0 0 0 1.5px #646b84,0 0 6px #4cb4f2aa,inset 0 1px 0 #ffffffcc}
.quest-card__go{min-height:36px}
.quest-card__claim{min-height:42px}
/* one Mini: portrait left; chips and time right; Claim (when won) along the bottom */
.quest-card:has(>.quest-units[data-n="1"]){display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"banner banner" "units info" "units time" "claim claim";column-gap:12px;row-gap:6px;align-items:center}
.quest-card:has(>.quest-units[data-n="1"])>.quest-banner{grid-area:banner}
.quest-card:has(>.quest-units[data-n="1"])>.quest-units[data-n="1"]{grid-area:units;grid-template-columns:84px;justify-content:start;padding:0 0 0 10px}
.quest-card:has(>.quest-units[data-n="1"]) .quest-card__art{width:78px}
.quest-card:has(>.quest-units[data-n="1"])>.quest-card__info{grid-area:info;align-self:end;justify-content:flex-start;padding:0 10px 0 0}
.quest-card:has(>.quest-units[data-n="1"])>.quest-plaque{grid-area:time;align-self:start;justify-self:start;margin:0 10px 0 0}
.quest-card:has(>.quest-units[data-n="1"])>.quest-card__claim{grid-area:claim}
.quest-card:has(>.quest-units[data-n="1"]).is-ready>.quest-card__info{grid-row:2/4;align-self:center}
.quest-daily__next>em{left:auto;right:-7px;bottom:-6px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;box-sizing:border-box;border-radius:9px;background:linear-gradient(180deg,#2b3350,#141a2e);box-shadow:0 0 0 1.5px #ffd76a,0 1px 2px #000a;font:800 11px/1 var(--wr-font-body);color:#fff;text-shadow:none}
/* No how-to status lines (quest-board.js defaultStatus, pvp-ui.js): an empty popup status line takes no space. */
:is(.activity-popup,.pvp-dialog)>.popup-status:empty{display:none}
/* Daily quest limit: a lock + "300/300" chip in the head (its tap bubble says the sentence). */
.quest-chip.quest-chip--cap{flex:0 0 auto;gap:6px;padding:6px 10px;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 0 0 1px #ff8a5a66,inset 0 1px 0 #ffffff14}
.quest-cap__icon{display:block;width:18px;height:20px;filter:drop-shadow(0 1px 1px #000a)}.quest-cap__icon>svg{display:block;width:100%;height:100%}
.quest-chip--cap b{font-size:14px;color:#ffd0bf}
.quest-board__head.is-capped .quest-chip--timer{flex:1 1 auto}.quest-board__head.is-capped .quest-chip.quest-daily{flex:1 1 100%}
/* World map daily strip: locked/claimed rewards stay tappable for their tap bubble (world-actions.js), so they keep the dimmed look of the old disabled state. */
.daily-track button.is-locked{opacity:.6;filter:saturate(.6) brightness(.85)}
.daily-track .daily-progress[role=button]{cursor:pointer}.daily-track .daily-progress[role=button]:focus-visible{outline:2px solid #ffeaa6;outline-offset:2px}
.tap-bubble .daily-tip{display:grid;gap:6px;margin-top:2px}.tap-bubble .daily-tip .daily-tip-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:0}
.tap-bubble .daily-tip-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}
.tap-bubble .daily-tip-chip{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 9px;border-radius:999px;background:#0b0e1cb3;box-shadow:inset 0 0 0 1px #ffffff26;font:800 13px/1.2 var(--wr-font-body,system-ui,sans-serif);color:var(--wr-text,#f6f3ec);text-shadow:0 1px 0 #000}
.tap-bubble .daily-tip-chip.is-pip{color:#bfe3ff;background:linear-gradient(180deg,#2f78e0,#1a4a9c);box-shadow:inset 0 0 0 1px #8ec5ff66}
.tap-bubble .daily-tip-chip.is-done{color:#1f3d0f;background:linear-gradient(180deg,#9be36a,#4fae2a)}
.tap-bubble .daily-tip-chip.is-day{color:#ffe08a}.tap-bubble .daily-tip-chip.is-day::before{content:'\21BB';opacity:.9}
.tap-bubble .daily-tip-chip.is-plain{background:none;box-shadow:none;padding:0;font-weight:600;color:var(--wr-text-dim,#c4cadb)}
.tap-bubble .tap-bubble__art .reward-icon--mega{position:relative;width:42px!important;height:36px!important;border-radius:7px;background:linear-gradient(180deg,#e9c8ff 0 38%,#4a2385 38% 47%,#9b5ce0 47%)!important;box-shadow:0 0 0 2px #2a1606,0 3px 6px #0009}.tap-bubble .tap-bubble__art .reward-icon--mega::after{content:'';position:absolute;left:50%;top:9px;width:9px;height:10px;transform:translateX(-50%);border-radius:2px;background:linear-gradient(#fff3c4,#ffcf4d);box-shadow:0 0 0 1px #2a1606}
