/* Reward moments: finite gold light, clan colour, and readable antique cards.
   All rules are scoped to reward modals; game economy and card data are unchanged. */
.modal-shade.reward-shade{
 padding:22px;background:radial-gradient(ellipse at 50% 40%,#274334b8,#08110fef 72%);
 backdrop-filter:blur(9px);overscroll-behavior:contain;
}
.modal.reward-modal{
 --reward-gold:#f3d38b;--reward-ink:#f8edcf;--reward-muted:#c6c5ad;
 width:min(100%,850px);max-width:850px;max-height:calc(100dvh - 44px);
 padding:31px 36px 25px;border:4px ridge #c6a86b;border-radius:5px;
 background:radial-gradient(ellipse at 50% 20%,#6d613432,transparent 58%),
  repeating-linear-gradient(0deg,#c9b57a04 0 1px,transparent 1px 4px),
  linear-gradient(140deg,#263d32,#152a22 58%,#101c18);
 color:var(--reward-ink);box-shadow:0 28px 100px #000b,0 0 68px #cba14b24,inset 0 0 0 2px #dac08655,inset 0 0 44px #050e1175;
 scrollbar-color:#a38d58 #152a22;isolation:isolate;overflow:auto;overflow-x:hidden;
}
.modal.reward-modal::before{
 content:"";position:absolute;inset:9px;border:1px solid #c9ae6961;border-radius:2px;
 pointer-events:none;z-index:-1;
}
.modal.reward-modal .modal-close{z-index:12}
.modal.reward-modal :is(h2,h3,p){overflow-wrap:anywhere}
.modal.reward-modal h2{
 color:#fff0bd;font-size:clamp(26px,3.5vw,39px);line-height:1.17;
 text-shadow:0 2px 14px #0009;margin:11px 0 0;font-weight:700;
}
.modal.reward-modal :is(.eyebrow,.reward-eyebrow,.conquest-kicker){
 color:#e4c77d;font:700 10px/1.4 'Segoe UI',Tahoma,sans-serif;letter-spacing:2.5px;text-transform:uppercase;
}
.modal.reward-modal .reward-eyebrow{letter-spacing:1.5px}
.modal.reward-modal p{color:var(--reward-muted);line-height:1.6}
.modal.reward-modal .hero-card.hero-card .card-ability p{color:#362a1d}
.modal.reward-modal .hud-icon{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reward-heading{position:relative;z-index:1;text-align:center;margin:0 auto 24px;max-width:590px}
.reward-heading>p{font-size:13px;margin:10px 0 0}
.reward-medal{
 display:block;width:68px;height:68px;flex:none;margin:0 auto 13px;color:var(--reward-gold);
 filter:drop-shadow(0 3px 4px #0008) drop-shadow(0 0 17px #f9bf5050);
}
.reward-medal svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reward-actions{
 position:relative;z-index:5;display:flex;justify-content:center;align-items:center;gap:12px;
 flex-wrap:wrap;margin:24px auto 0;padding-top:19px;border-top:1px solid #c5a96740;
}
.reward-actions .btn{min-width:180px;min-height:46px}
.reward-skip{
 display:block;position:relative;z-index:5;margin:12px auto 0;padding:7px 12px;
 color:#cec6a6;background:transparent;border:0;border-radius:4px;font-size:11px;cursor:pointer;
 min-height:35px;text-decoration:underline;text-underline-offset:3px;
}
.reward-skip:hover{color:#fff0bd}
.reward-skip:focus-visible{outline:2px solid #ffe4a1;outline-offset:2px}

/* Decorative light ends after its first flourish and never obstructs controls. */
.conquest-celebration,.pack-celebration{position:relative}
.reward-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.reward-rays{
 position:absolute;top:18%;left:50%;width:620px;max-width:none;aspect-ratio:1;
 transform:translate(-50%,-50%);opacity:.35;
 background:repeating-conic-gradient(from 7deg,#e8c67025 0deg 4deg,transparent 4deg 15deg);
 -webkit-mask-image:radial-gradient(circle,#000 12%,transparent 64%);
 mask-image:radial-gradient(circle,#000 12%,transparent 64%);
 animation:reward-ray-bloom 2.6s ease-out both;
}
.reward-ring{
 position:absolute;left:50%;top:30%;width:300px;aspect-ratio:1;border:1px solid #eaca794a;
 border-radius:50%;box-shadow:0 0 18px #edcc6921,inset 0 0 18px #edcc6921;
 transform:translate(-50%,-50%);opacity:0;animation:reward-ring-bloom 2.4s .35s ease-out both;
}
.reward-spark{
 position:absolute;left:50%;top:30%;width:4px;height:8px;border-radius:50%;
 background:#ffebaa;box-shadow:0 0 8px #f5c66c;opacity:0;
 transform:rotate(calc(var(--i)*20deg)) translateY(-22px);
 animation:reward-spark-flight 2.3s calc(var(--i)*.018s + .4s) ease-out both;
}
@keyframes reward-ray-bloom{
 0%{opacity:0;transform:translate(-50%,-50%) rotate(-15deg) scale(.75)}
 38%{opacity:.9}100%{opacity:.35;transform:translate(-50%,-50%) rotate(8deg) scale(1)}
}
@keyframes reward-ring-bloom{
 0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}
 30%{opacity:.7}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}
}
@keyframes reward-spark-flight{
 0%{opacity:0;transform:rotate(calc(var(--i)*20deg)) translateY(-22px) scale(.3)}
 18%{opacity:.85}100%{opacity:0;transform:rotate(calc(var(--i)*20deg)) translateY(-210px) scale(.1)}
}
@keyframes reward-enter{
 from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}
}
@keyframes reward-card-enter{
 0%{opacity:0;transform:translateY(24px) scale(.82) rotateY(-14deg)}
 72%{opacity:1;transform:translateY(-3px) scale(1.02) rotateY(2deg)}
 100%{opacity:1;transform:translateY(0) scale(1) rotateY(0)}
}

/* Territory conquest gives the leader its own uninterrupted reveal. */
.conquest-celebration{text-align:center;--reward-clan:#65a8a5}
.conquest-kicker{display:block;padding:2px 35px 0}
.conquest-celebration>h2{max-width:650px;margin:10px auto 0;animation:reward-enter .6s .2s both}
.conquest-stage{
 display:grid;grid-template-columns:minmax(0,258px) minmax(0,1fr);gap:34px;
 align-items:center;text-align:left;margin:27px auto 0;max-width:675px;
}
.conquest-card-stage{
 position:relative;display:flex;justify-content:center;align-items:center;min-width:0;
 perspective:900px;animation:reward-card-enter 1.05s .65s both;
}
.conquest-card-stage::before{
 content:"";position:absolute;inset:-25px -20px;border-radius:50%;z-index:-1;
 background:radial-gradient(ellipse,color-mix(in srgb,var(--reward-clan) 38%,transparent),#e4c56615 47%,transparent 72%);
 filter:blur(5px);
}
.conquest-card-stage>.hero-card{width:240px;max-width:100%;box-shadow:0 14px 38px #0009,0 0 25px #eecb7336}
.conquest-message{min-width:0;animation:reward-enter .75s 1.15s both}
.conquest-message .reward-medal{width:78px;height:78px;margin:0 0 18px}
.conquest-message .conquest-leader-name{
 color:#fff1c5;font-size:clamp(27px,3.7vw,39px);line-height:1.17;
 margin:9px 0 13px;text-shadow:0 2px 12px #0008;letter-spacing:0;
}
.conquest-level{
 display:inline-flex;gap:7px;align-items:center;padding:6px 13px;border:1px solid #e4c3788c;
 background:linear-gradient(135deg,#76602e66,#2b463666);color:#ffe5a3;border-radius:4px;
 font:700 13px/1.2 'Segoe UI',Tahoma,sans-serif;box-shadow:inset 0 0 0 2px #ddbd6220;
}
.conquest-leader-note{font-size:13px;margin:16px 0 0;color:#d9dac4!important}
.conquest-benefits{
 display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;
 margin:22px auto 0;animation:reward-enter .6s 1.6s both;
}
.conquest-benefits>*{
 display:inline-flex;gap:7px;align-items:center;margin:0;padding:8px 13px;
 border:1px solid #bea56557;border-radius:4px;background:#0b1f1866;color:#e6dbc0;
 font-size:12px;line-height:1.4;
}
.conquest-benefits svg{display:block;width:20px;height:20px;flex:none;color:#ecd18f}

/* Match results remain brief, with the awarded currencies clearly visible. */
.modal.result-modal{max-width:720px}
.reward-result{position:relative;text-align:center;padding:6px 0 0}
.reward-result .reward-heading{margin-bottom:20px}
.reward-result .reward-heading .reward-medal{animation:reward-enter .55s both}
.reward-result.victory .reward-heading h2{animation:reward-enter .6s .14s both}
.reward-result.defeat{--reward-gold:#d2b5a4}
.reward-result.defeat .reward-heading h2{color:#e2c4b2}
.reward-result.draw .reward-heading h2{color:#ebe0c3}
.reward-result .campaign-result-wallet{display:flex;flex-wrap:wrap;justify-content:center;gap:13px;margin:16px 0}
.reward-result .campaign-result-wallet .reward-number{
 display:grid;grid-template-columns:37px auto;grid-template-rows:auto auto;
 align-items:center;column-gap:11px;margin:0;padding:15px 21px;min-width:160px;
 background:linear-gradient(130deg,#c5ab6830,#07211744);border:1px solid #cdb77266;
 border-radius:6px;text-align:left;color:#f6d889;font-size:29px;
}
.reward-currency-icon{display:block;width:35px;height:35px;grid-row:1/3;grid-column:1;color:#e3c36c}
.reward-currency-icon svg{display:block;width:100%;height:100%}
.reward-result .campaign-result-wallet .reward-number b{grid-column:2;line-height:1.12;font-variant-numeric:tabular-nums}
.reward-result .campaign-result-wallet .reward-number small{grid-column:2;color:#d1cfb4;font-size:10px;letter-spacing:1px;margin:4px 0 0}
.reward-result .campaign-result-wallet .gerege{color:#f6d889}
.reward-result .conquest-reward{padding:12px 14px;border:1px solid #c9a85f55;background:#25423666;border-radius:5px;margin:14px 0}
.reward-result .conquest-reward b{color:#ffe3a0;font-size:17px}
.reward-result .conquest-reward p{color:#d9d2bb;font-size:12px;margin:6px 0 0}
.reward-result .campaign-stage-pack-reward{
 max-width:540px;background:radial-gradient(ellipse at 10% 50%,#d3aa4e2b,transparent 65%),linear-gradient(130deg,#3e4c32,#21382d);
 border-color:#d5b76c77;box-shadow:inset 0 0 0 2px #eacf8220,0 5px 15px #0004;margin:15px auto 0;padding:17px 14px;gap:20px;
}
.reward-result .campaign-stage-pack-reward h3{font-size:20px;color:#ffe5a4;margin:0}
.reward-result .campaign-stage-pack-reward p{color:#d4d1b7;font-size:12px;margin:6px 0}
.reward-result .campaign-stage-pack-reward .campaign-pack-odds{color:#ded1ad}
.reward-result .campaign-leader-reward{background:#3447359e;border-color:#bea66955;padding:11px 13px}
.reward-result .campaign-leader-reward p,.reward-result .campaign-pack-reward>p.gold{color:#ffe0a0}
.reward-result .campaign-leader-reward small{color:#cccdb4}
.reward-result .campaign-pack-reward{border-top-color:#d1b57455;margin-top:17px}
.reward-result .campaign-pack-cards>button{border-color:#c3a45d85}
.reward-result .ranked-result{background:#324333;border-color:#c5ad71;padding:15px;margin:18px auto 0}
.reward-result .ranked-result>strong{color:#a6e6b8;font-size:28px;margin-bottom:12px}
.reward-result .ranked-result .rank-profile{color:#efe4c4}
.reward-result .ranked-result .rank-profile-body>strong{color:#b3e7bd}
.reward-result .ranked-result .rank-profile h2{color:#ffe4ac;font-size:23px;margin:0}
.reward-result .reward-number:not(.campaign-result-wallet .reward-number){color:#f3d38b}

/* A pack unfolds once; rarity colours illuminate only that card. */
.modal.pack-modal{width:min(100%,1180px);max-width:1180px}
.pack-celebration .reward-heading{margin-bottom:26px;animation:reward-enter .55s both}
.pack-celebration .card-grid.pack-reveal{
 grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:19px;margin:0;
}
.pack-celebration .card-grid.pack-reveal.campaign-stage-pack-reveal{
 grid-template-columns:minmax(0,285px);justify-content:center;max-width:400px;margin:0 auto;
}
.pack-reward-item{--reward-rarity:#6bd481;position:relative;min-width:0;animation:reward-card-enter .85s calc(.35s + var(--i)*.16s) both}
.pack-reward-item[data-rarity="R"]{--reward-rarity:#54bbff}
.pack-reward-item[data-rarity="E"]{--reward-rarity:#bc76e8}
.pack-reward-item[data-rarity="L"]{--reward-rarity:#f4c765}
.pack-reward-item[data-rarity="LEADER"]{--reward-rarity:#8ee3dc}
.pack-reward-item::before{
 content:"";position:absolute;left:2%;right:2%;top:3%;height:72%;border-radius:30px;
 background:var(--reward-rarity);opacity:.16;filter:blur(18px);pointer-events:none;z-index:-1;
}
.pack-celebration .pack-reveal .card-click{width:100%;animation:none;transition:transform .18s,filter .18s}
.pack-celebration .pack-reveal .card-click:hover{transform:translateY(-3px);filter:brightness(1.05)}
.pack-celebration .pack-reveal .hero-card{width:100%;box-shadow:0 8px 22px #0008,0 0 18px color-mix(in srgb,var(--reward-rarity) 34%,transparent)}
.pack-celebration .pack-reveal .hero-card.hero-card{height:320px}
.pack-celebration .pack-reveal .hero-card.hero-card .portrait{flex:1 1 auto;min-height:0;height:auto;aspect-ratio:auto}
.pack-celebration .pack-reveal .hero-card.hero-card .card-body{flex:0 0 auto;border-width:18px 16px 16px;padding:3px 2px}
.pack-celebration .pack-reveal .hero-card.hero-card .card-name{font-size:14px;min-height:34px;line-height:1.2;padding:0;margin:0;border:0;box-shadow:none;display:flex;align-items:center;justify-content:center}
.pack-celebration .pack-reveal .hero-card.hero-card .card-ability,.pack-celebration .pack-reveal .hero-card.hero-card .card-clan{display:none!important}
.pack-copy-gain{
 display:block;margin:11px 0 0;color:#fae2a0;font-weight:700;font-size:12px;
 text-align:center;line-height:1.4;
}
.pack-reward-item .copy-progress{margin:8px 0 0;border-color:#b8a47250;background:#0e231dcc;min-width:0}
.pack-reward-item .copy-progress-head{flex-wrap:wrap}
.pack-reward-item .copy-progress>small{color:#d1c8ae}
.pack-reward-item .copy-use-summary{display:none}
.reward-settled *{animation:none!important}
.reward-settled .reward-ring,.reward-settled .reward-spark{opacity:0!important}

@media(max-width:660px){
 .modal-shade.reward-shade{padding:12px}
 .modal.reward-modal{max-height:calc(100dvh - 24px);padding:28px 19px 18px;border-width:3px}
 .modal.reward-modal h2{font-size:28px}
 .reward-heading{margin-bottom:20px;padding:0 12px}
 .reward-medal{width:56px;height:56px}
 .reward-heading>p{font-size:12px}
 .conquest-stage{grid-template-columns:minmax(0,205px) minmax(0,1fr);gap:20px;margin-top:24px}
 .conquest-card-stage>.hero-card{width:195px}
 .conquest-message .reward-medal{width:53px;height:53px;margin-bottom:12px}
 .conquest-message .conquest-leader-name{font-size:27px}
 .conquest-leader-note{font-size:12px;margin-top:12px}
 .conquest-benefits{margin-top:18px}
 .reward-actions{gap:10px;margin-top:20px;padding-top:15px}
 .reward-actions .btn{min-width:160px}
 .pack-celebration .card-grid.pack-reveal{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}
 .pack-celebration .card-grid.pack-reveal.campaign-stage-pack-reveal{grid-template-columns:minmax(0,265px)}
 .reward-result .campaign-result-wallet{gap:10px}
 .reward-result .campaign-result-wallet .reward-number{min-width:140px;padding:12px 15px;font-size:27px}
}
@media(max-width:460px){
 .modal-shade.reward-shade{padding:8px}
 .modal.reward-modal{max-height:calc(100dvh - 16px);padding:28px 13px 16px}
 .modal.reward-modal h2{font-size:25px}
 .conquest-kicker{padding:4px 30px 0;letter-spacing:1.7px;font-size:9px}
 .conquest-stage{grid-template-columns:1fr;gap:21px;margin-top:23px;text-align:center}
 .conquest-card-stage>.hero-card{width:180px}
 .conquest-card-stage .hero-card .card-ability,.conquest-card-stage .hero-card .card-clan{display:none!important}
 .conquest-card-stage .hero-card.hero-card .card-body{flex:0 0 auto;border-width:18px 18px 16px;padding:3px 2px}
 .conquest-card-stage .hero-card.hero-card .card-name{font-size:16px;padding:0;margin:0;border:0;box-shadow:none}
 .conquest-message .reward-medal{display:none}
 .conquest-message .conquest-leader-name{font-size:29px;margin:7px 0 10px}
 .conquest-leader-note{max-width:290px;margin:12px auto 0;font-size:12px}
 .conquest-benefits{gap:7px}
 .conquest-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .conquest-benefits>*{display:grid;grid-template-columns:20px minmax(0,1fr);gap:2px 7px;font-size:11px;padding:7px 9px;text-align:left}
 .conquest-benefits svg{grid-row:1/3}
 .conquest-benefits small{grid-column:2}
 .reward-actions{gap:9px}
 .reward-actions .btn{flex:1 1 100%;min-width:0}
 .reward-skip{margin-top:8px}
 .reward-result .campaign-result-wallet .reward-number{min-width:0;flex:1;padding:11px 10px;column-gap:8px;font-size:25px;grid-template-columns:29px auto}
 .reward-currency-icon{width:27px;height:27px}
 .reward-result .campaign-stage-pack-reward{gap:12px;padding:14px 10px}
 .reward-result .campaign-stage-pack-reward h3{font-size:18px}
 .reward-result .campaign-stage-pack-reward .btn{min-width:0;width:100%}
 .reward-result .campaign-pack-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pack-copy-gain{font-size:11px}
 .pack-reward-item .copy-progress-head{font-size:10px;gap:5px}
 .pack-reward-item .copy-progress{padding:8px}
 .pack-reward-item .copy-progress>small{font-size:9px}
}
@media(max-width:460px) and (max-height:720px){
 .modal.conquest-modal{padding-top:23px;padding-bottom:12px}
 .modal.conquest-modal .conquest-celebration>h2{font-size:22px}
 .modal.conquest-modal .conquest-kicker{font-size:8px;letter-spacing:1.2px;margin:0}
 .conquest-stage{margin-top:13px;gap:13px}
 .conquest-card-stage>.hero-card{width:160px}
 .conquest-message .conquest-leader-name{font-size:26px;margin:6px 0 8px}
 .conquest-leader-note{display:none}
 .conquest-benefits{margin-top:12px}
 .conquest-celebration .reward-actions{margin-top:12px;padding-top:10px;gap:4px}
 .conquest-celebration .reward-skip{margin:2px auto 0}
}
@media(prefers-reduced-motion:reduce){
 .reward-modal *,.reward-modal *::before,.reward-modal *::after{animation:none!important;transition:none!important}
 .reward-modal .reward-ring,.reward-modal .reward-spark{opacity:0!important}
 .reward-modal .reward-rays{opacity:.2}
}

