:root{--rw-paper:#e8dcc0;--rw-ink:#3a3023;--rw-brass:#b58b4a;--rw-green:#122419;--rw-line:rgba(75,58,35,.2)}
.rewards-page{min-height:100vh;padding-bottom:4rem;background:radial-gradient(circle at 75% 8%,rgba(111,139,91,.18),transparent 30rem),#061009;color:#eee5d1}
.reward-hero{padding:4.5rem 2rem 3rem;max-width:1260px;margin:auto}.reward-kicker,.section-heading p{font:600 .58rem/1.4 Cinzel,serif;letter-spacing:.28em;color:var(--rw-brass)}
.reward-hero h1{font:600 clamp(2rem,5vw,4.6rem)/1 Cinzel,serif;max-width:920px;margin:.7rem 0}.reward-hero>p:last-of-type{font:italic 1.1rem/1.6 'Cormorant Garamond',serif;color:rgba(238,229,209,.7);max-width:650px}
.reward-balance{display:inline-flex;gap:1rem;margin-top:1.2rem;padding:.75rem 1rem;border:1px solid rgba(181,139,74,.35);font:.62rem Cinzel;letter-spacing:.16em}.reward-balance strong{color:#fff}
.reward-status{max-width:1260px;margin:0 auto 1rem;padding:0 2rem;font:italic 1rem 'Cormorant Garamond';color:#d8c08b}
.daily-sheet,.crate-section{max-width:1260px;margin:0 auto 2rem}.daily-sheet{background:linear-gradient(145deg,#eee4cc,#d8c7a4);color:var(--rw-ink);padding:1.6rem;box-shadow:0 18px 45px rgba(0,0,0,.35)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;border-bottom:1px solid var(--rw-line);padding-bottom:1rem;margin-bottom:1rem}.section-heading h2{font:600 1.35rem Cinzel;margin:.15rem 0}.section-heading>span{font:.48rem Cinzel;letter-spacing:.16em;opacity:.6}.dark-heading{border-color:rgba(181,139,74,.22)}
.recovery-note{padding:.85rem 1rem;margin-bottom:1rem;border:1px solid #9d6e39;background:rgba(157,110,57,.1);font:600 .7rem/1.5 Cinzel;letter-spacing:.08em}
.daily-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.55rem}.daily-day{min-height:105px;padding:.65rem;border:1px solid var(--rw-line);background:rgba(255,255,255,.18);position:relative}.daily-day.today{outline:2px solid var(--rw-brass);background:rgba(181,139,74,.12)}.daily-day.claimed{background:rgba(72,112,69,.13)}.daily-day.missed{opacity:.48}.daily-day-number{font:700 .72rem Cinzel}.daily-day-state{float:right;font:.5rem Cinzel;letter-spacing:.09em}.daily-day ul{margin:.5rem 0 0;padding:0;list-style:none;font:.8rem/1.25 'Cormorant Garamond';font-weight:600}.daily-day.reduced:after{content:'RECOVERY';position:absolute;right:.4rem;bottom:.35rem;font:.4rem Cinzel;letter-spacing:.1em;color:#9d5f36}
.today-claim{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;border-top:1px solid var(--rw-line)}.today-claim span{display:block;font:.5rem Cinzel;letter-spacing:.18em;opacity:.65}.today-claim strong{display:block;font:600 1rem/1.4 'Cormorant Garamond'}.today-claim small{font:italic .8rem 'Cormorant Garamond';opacity:.7}
.reward-button{padding:.85rem 1rem;border:1px solid #7a6235;background:#263e2b;color:#f0e6cf;font:600 .56rem Cinzel;letter-spacing:.14em;cursor:pointer}.reward-button:disabled{opacity:.5;cursor:not-allowed}
.crate-section{padding:1.6rem;border:1px solid rgba(181,139,74,.22);background:rgba(11,23,15,.88)}.crate-explainer{font:italic 1rem/1.5 'Cormorant Garamond';color:rgba(238,229,209,.68);max-width:760px}.crate-inventory{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}.inventory-pill{padding:.55rem .75rem;border:1px solid rgba(181,139,74,.3);font:.56rem Cinzel;letter-spacing:.08em;background:rgba(181,139,74,.08)}
.crate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.crate-card{border:1px solid rgba(181,139,74,.25);padding:1.1rem;background:radial-gradient(circle at 88% 12%,rgba(181,139,74,.13),transparent 12rem),#0c1a11}.crate-card h3{font:600 1rem Cinzel;margin:.2rem 0}.crate-price{color:#daba77;font:600 .72rem Cinzel}.crate-card>p{font:italic .92rem 'Cormorant Garamond';color:rgba(238,229,209,.65)}.crate-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}.crate-actions button{flex:1}.crate-odds{margin-top:.8rem;border-top:1px solid rgba(181,139,74,.16)}.crate-odds summary{padding:.65rem 0;cursor:pointer;font:.52rem Cinzel;letter-spacing:.12em}.odds-row{display:grid;grid-template-columns:1fr auto;gap:.35rem;padding:.45rem 0;border-top:1px solid rgba(255,255,255,.04);font:.8rem 'Cormorant Garamond'}.odds-row small{grid-column:1/-1;color:rgba(238,229,209,.55)}
.garage-voucher{display:flex;align-items:end;gap:.65rem;margin:1rem 0;padding:1rem;border:1px solid rgba(181,139,74,.3);background:rgba(181,139,74,.06)}.garage-voucher label{margin-right:auto}.garage-voucher label span{display:block;font:.72rem 'Cormorant Garamond';opacity:.7}.garage-voucher select{min-width:220px;padding:.75rem;background:#0b1710;color:#eee5d1;border:1px solid rgba(181,139,74,.35)}
.crate-reveal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.crate-reveal[hidden]{display:none}.crate-reveal-backdrop{position:absolute;inset:0;background:rgba(2,7,4,.86)}.crate-reveal-card{z-index:1;width:min(500px,calc(100% - 2rem));padding:2.5rem;background:linear-gradient(145deg,#eee4cc,#cfb98d);color:var(--rw-ink);text-align:center;box-shadow:0 0 80px rgba(181,139,74,.3);position:relative}.crate-reveal-card>p{font:.52rem Cinzel;letter-spacing:.2em}.crate-reveal-card h2{font:600 1.7rem Cinzel;margin:.5rem}.crate-reveal-card>strong{display:block;color:#7f612e;font:600 .8rem Cinzel;letter-spacing:.1em}.crate-reveal-card #crateWinnings{margin:1.2rem 0;font:600 1.1rem/1.7 'Cormorant Garamond'}.reveal-close{position:absolute;right:.7rem;top:.5rem;border:0;background:none;font-size:1.5rem;cursor:pointer}
@media(max-width:800px){.daily-sheet,.crate-section{margin-left:.75rem;margin-right:.75rem;padding:1rem}.daily-calendar{grid-template-columns:repeat(4,1fr)}.crate-grid{grid-template-columns:1fr}.reward-hero{padding:3.5rem 1rem 2rem}.today-claim,.garage-voucher{align-items:stretch;flex-direction:column}.section-heading{align-items:start;flex-direction:column}.garage-voucher select{min-width:0}}
@media(max-width:480px){.daily-calendar{grid-template-columns:repeat(3,1fr)}.daily-day{min-height:92px;padding:.5rem}.daily-day ul{font-size:.72rem}}
