.royal-rewards-page{position:fixed;inset:0;max-width:480px;margin:auto;background:#11091E;z-index:70;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;isolation:isolate;--reward-accent:#EDCF85}.royal-rewards-page[hidden]{display:none}.royal-rewards-page.cp{--reward-accent:#F3ADC8}.rewards-backdrop{position:absolute;inset:0 0 auto;height:1000px;z-index:-1;background:linear-gradient(180deg,#11091eaa,transparent 15%,#11091e 70%),url('assets/royal-palace.webp') center top/100% auto no-repeat}.royal-rewards-page.cp .rewards-backdrop{background-image:linear-gradient(180deg,#11091eaa,transparent 15%,#11091e 70%),url('assets/royal-palace-cp.webp')}.royal-rewards-page.charm .rewards-backdrop{background-image:linear-gradient(180deg,#11091eaa,transparent 15%,#11091e 70%),url('assets/royal-palace-charm.webp')}.royal-rewards-page.game .rewards-backdrop{background-image:linear-gradient(180deg,#11091eaa,transparent 15%,#11091e 70%),url('assets/royal-palace-game.webp')}.rewards-header{position:sticky;top:0;z-index:8;padding:calc(8px + env(safe-area-inset-top)) 10px 12px;background:linear-gradient(180deg,#11091ef5,#11091ee8 87%,#11091e00)}.rewards-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.rewards-title-row h1{font:600 18px Inter,system-ui,sans-serif;max-width:none;margin:0;letter-spacing:0}.rewards-category-tabs{padding:4px 8px 0;gap:22px;min-height:42px}.reward-periods{margin-top:6px}.rewards-content{padding:5px 13px calc(28px + env(safe-area-inset-bottom))}.reward-primary{position:relative;isolation:isolate;margin-bottom:19px;padding:23px 25px 25px}.reward-panel-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1;pointer-events:none}.reward-section-heading{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:13px}.reward-section-heading h2{font:600 16px Inter,system-ui,sans-serif;display:flex;align-items:center;gap:7px;margin:0;color:#FAF5FF}.reward-section-heading>span{font-size:10px;color:#c6b3d9}.reward-rank-medallion{display:grid;place-items:center;width:26px;height:26px;border:1px solid #EDCF85;border-radius:50%;font:16px Georgia,serif;color:#EDCF85;background:#edcf8510}.reward-winners{display:grid;grid-template-columns:1fr 1.23fr 1fr;gap:1px;align-items:end;min-height:193px}.reward-winner{min-width:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:3px}.reward-winner-portraits{position:relative;width:100%;aspect-ratio:2/3;display:block;isolation:isolate}.reward-place-1{align-self:start}.reward-winner-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1}.reward-winner-photo{position:absolute;left:27.5%;top:12.3%;width:45%;aspect-ratio:1;border-radius:50%;object-fit:cover}.reward-couple .reward-winner-photo{left:14%;top:16.3%;width:32%}.reward-couple .reward-winner-photo+.reward-winner-photo{left:54%}.reward-winner strong{position:absolute;font-size:10px;font-weight:600;color:#FAF5FF;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22%;margin-top:75px;z-index:2}.reward-place-1 strong{font-size:12px;margin-top:96px;max-width:27%}.reward-preview-label{margin:5px 0 0;text-align:center;font-size:9px;color:#A89AB9}.rewards-intro{text-align:center;color:#dbcbed;font-size:12px;margin:4px 8px 17px;line-height:1.5}.reward-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}.reward-item{padding:0;min-width:0;display:flex;align-items:center;flex-direction:column}.reward-item-well{display:block;position:relative;width:100%;aspect-ratio:1;max-width:119px;background:#11091e66;border-radius:9px;isolation:isolate}.reward-item-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:2;pointer-events:none}.reward-item-image{position:absolute;left:15%;top:15%;width:70%;height:70%;object-fit:contain;filter:drop-shadow(0 3px 5px #0008);z-index:1}.reward-title-image{left:10%;width:80%;top:20%;height:60%}.reward-title-text{position:absolute;left:18%;right:18%;top:46%;z-index:2;text-align:center;font-size:clamp(6px,1.7vw,9px);line-height:1;font-weight:800;color:#fff0c5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reward-item strong{font-size:11px;font-weight:550;margin-top:7px;line-height:1.35;text-align:center}.reward-item small{font-size:10px;color:#bfaaca;margin-top:4px}.reward-item .reward-amount{color:#EDCF85;font-weight:650;font-size:12px}.rewards-footnote{font-size:10px;line-height:1.5;text-align:center;color:#A89AB9;margin:4px 10px}.reward-detail-well{position:relative;width:180px;aspect-ratio:1;margin:auto;background:#11091e;border-radius:12px;isolation:isolate}.reward-detail-image{position:absolute;inset:15%;width:70%;height:70%;object-fit:contain}.reward-detail-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.reward-detail-title{position:absolute;top:47%;left:20%;right:20%;text-align:center;font-size:11px;font-weight:750;color:#fff0c5}.reward-detail-value{text-align:center;color:#EDCF85!important;font-weight:650}@media(max-width:350px){.rewards-content{padding-left:9px;padding-right:9px}.reward-primary{padding:22px 21px 24px}.reward-section-heading h2{font-size:14px}.reward-winners{min-height:165px}.reward-place-1 strong{margin-top:78px;font-size:10px}.reward-winner strong{margin-top:60px;font-size:9px}.reward-items{gap:15px 11px}.rewards-title-row h1{font-size:16px}.rewards-category-tabs{gap:19px}.reward-item strong{font-size:10px}}

.reward-winner strong,.reward-place-1 strong{left:16%;right:16%;top:58%;margin:0;max-width:none;font-size:10px;line-height:1.2;text-align:center}.reward-place-1 strong{font-size:11px}
/* Keep live headings and captions clear of the generated corner ornament. */
.reward-primary{padding:58px 35px 55px}
@media(max-width:350px){.reward-primary{padding:54px 28px 51px}.reward-winners{min-height:154px}}

/* V13: bigger previous winners on a quiet champagne surface. */
.reward-previous{padding:58px 28px 44px}
.reward-previous .reward-section-heading{padding:0 6px;margin-bottom:16px}
.reward-previous .reward-section-heading h2{color:#30213D}
.reward-previous .reward-section-heading>span,.reward-previous .reward-preview-label{color:#51405B}
.reward-previous .reward-winners{margin:0 -13px;grid-template-columns:1fr 1.23fr 1fr;min-height:235px;gap:0}
.reward-previous .reward-winner strong{font-size:12px}
.reward-previous .reward-place-1 strong{font-size:13px}
.reward-previous .reward-preview-label{margin-top:10px}
@media(max-width:350px){.reward-previous{padding:54px 24px 40px}.reward-previous .reward-winners{min-height:201px;margin:0 -12px}.reward-previous .reward-winner strong{font-size:11px}.reward-previous .reward-place-1 strong{font-size:12px}}

/* V14: portrait-only awards; independent frames, live badges and names. */
.reward-previous .reward-winners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 8px;min-height:0;margin:0 -9px}
.reward-previous .reward-winner{width:94%;justify-self:center;gap:8px}
.reward-previous .reward-place-1{grid-column:1 / -1;grid-row:1;width:56%;align-self:start}
.reward-previous .reward-place-2{grid-column:1;grid-row:2;margin-top:-42px}
.reward-previous .reward-place-3{grid-column:2;grid-row:2;margin-top:-42px}
.reward-previous .reward-winner-portraits{aspect-ratio:1}
.reward-previous .reward-winner-photo{left:23%;top:24%;width:54%}
.reward-previous .reward-couple{aspect-ratio:1.3}
.reward-previous .reward-couple .reward-winner-photo{left:11%;top:26%;width:36%}
.reward-previous .reward-couple .reward-winner-photo+.reward-winner-photo{left:53%}
.reward-previous .reward-winner strong{position:static;max-width:100%;font-size:13px;line-height:1.3;color:#30213D;white-space:nowrap;margin:0;width:100%;text-align:center}
.reward-previous .reward-place-1 strong{font-size:15px}
.reward-winner-rank{position:absolute;bottom:5%;left:24%;right:24%;z-index:3;text-align:center;font:700 clamp(10px,3vw,13px) Georgia,serif;color:#382114;white-space:nowrap;background:linear-gradient(#F6E5AE,#EDCF85);border:1px solid #B88A3E;border-radius:8px;padding:2px 0;box-shadow:0 1px 3px #11091e44}
.reward-previous .reward-preview-label{margin-top:18px}
@media(max-width:350px){.reward-previous .reward-winner strong{font-size:12px}.reward-previous .reward-place-1 strong{font-size:14px}.reward-previous .reward-place-2,.reward-previous .reward-place-3{margin-top:-30px}}

.reward-previous .reward-winner-photo{left:21.5%;top:22%;width:57%}
.reward-winner-rank{top:75.5%;bottom:auto;left:30%;right:30%;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:clamp(10px,3vw,14px)}

.reward-previous .reward-couple{aspect-ratio:1.5}
.reward-previous .reward-couple .reward-winner-photo{left:12.5%;top:29%;width:34%}
.reward-previous .reward-couple .reward-winner-photo+.reward-winner-photo{left:53.5%}
.reward-couple .reward-winner-rank{top:81%;left:35%;right:35%}

/* Give the first-place name clear space above the side crowns. */
.reward-previous .reward-place-2,.reward-previous .reward-place-3{margin-top:8px}

.reward-previous{padding-bottom:64px}
@media(max-width:350px){.reward-previous{padding-bottom:56px}}
