:root{--rmf-primary:#087dff;--rmf-primary-strong:#0057cf;--rmf-secondary:#081936;--rmf-accent:#32c8ff;--rmf-silver:#dce9f5;--rmf-bg:#020711;--rmf-card:rgba(8,24,49,.92);--rmf-card-soft:rgba(12,35,69,.82);--rmf-text:#f5f9ff;--rmf-muted:#a9bed4;--rmf-border:#245b91;--rmf-success:#41d69b;--rmf-warning:#ffc857;--rmf-error:#ff6b7a;--rmf-info:#53c8ff;--rmf-disabled:#526478;--rmf-focus:#77dcff;--rmf-shadow:0 18px 55px rgba(0,54,150,.24);--rmf-radius:20px;color:var(--rmf-text);background:var(--rmf-bg)}
html{overflow-x:hidden;scroll-behavior:smooth}body{position:relative;overflow-x:hidden;background:radial-gradient(circle at 50% -10%,#0c49a7 0,#071a3b 25%,#030a17 62%,#01040a 100%);color:var(--rmf-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}body::before{content:"";position:fixed;inset:88px 0 0;z-index:-1;background:url('/assets/rmf_draw_logo_transparent.png') center 42%/min(780px,82vw) auto no-repeat;opacity:.045;pointer-events:none;filter:saturate(.8)}
.icon-button:focus-visible,.menu-link:focus-visible,button:focus-visible,.button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rmf-focus);outline-offset:3px}
.hero,.rewards-hero{position:relative;overflow:hidden;border:1px solid rgba(52,169,255,.32);border-radius:28px;background:linear-gradient(135deg,rgba(4,18,44,.92),rgba(5,48,105,.82));box-shadow:var(--rmf-shadow);padding:clamp(26px,6vw,58px);margin-bottom:28px}.hero::after,.rewards-hero::after{content:"";position:absolute;inset:auto -8% -55% auto;width:360px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#16bfff44,transparent 68%);pointer-events:none}.hero img{width:min(440px,80vw);max-height:280px;object-fit:contain;filter:drop-shadow(0 18px 30px #0009)}h1{font-size:clamp(2rem,6vw,3.7rem);line-height:1.05;letter-spacing:-.035em}h2{letter-spacing:-.018em}.tagline{color:#b9eaff;font-weight:800;letter-spacing:.04em}
.cards{gap:20px}.card{position:relative;overflow:hidden;border:1px solid rgba(74,149,218,.34);border-radius:var(--rmf-radius);background:linear-gradient(145deg,var(--rmf-card),rgba(5,18,38,.96));box-shadow:var(--rmf-shadow);padding:clamp(18px,3vw,26px);backdrop-filter:blur(12px)}.card:hover{border-color:rgba(76,188,255,.58)}.pill,.badge{border:1px solid #2c78b8;background:#0b3057;color:#8bddff;letter-spacing:.05em}.administrator-badge{border-color:#f0c65e;background:#5b430e;color:#fff0b3}
button,.button{min-height:48px;border:1px solid #3fbaf8;border-radius:14px;background:linear-gradient(135deg,var(--rmf-primary-strong),var(--rmf-primary),#10b5ef);box-shadow:0 9px 24px rgba(0,112,255,.24);padding:11px 18px;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}button:hover,.button:hover{filter:brightness(1.12);box-shadow:0 12px 30px rgba(0,151,255,.32);transform:translateY(-1px)}button:active,.button:active{transform:translateY(1px)}button.secondary,.button.secondary{border-color:#426887;background:linear-gradient(135deg,#14283e,#1d3b56);box-shadow:none}button.destructive,.button.destructive{border-color:#ff7180;background:linear-gradient(135deg,#7c1527,#c52c42)}button.success,.button.success{border-color:#57e4ad;background:linear-gradient(135deg,#087451,#11a975)}button:disabled,.button[aria-disabled="true"]{cursor:not-allowed;color:#a9b4c0;border-color:#526478;background:#354454;box-shadow:none;filter:saturate(.3);transform:none}
label{color:#c9d9e9;font-weight:650}input,textarea,select,.administration-page select{border:1px solid #315e8b;background:#06162b;color:#fff;border-radius:14px;font-size:16px;box-shadow:inset 0 1px 0 #ffffff0a}input::placeholder,textarea::placeholder{color:#778fa8}.rules{border:1px solid #284f76;background:#041124}.error{color:#ff9aa4}.eligible,.status-PASS{color:#8cf0c2}.muted,small{color:var(--rmf-muted)}
#slideMenu,#adminSlideMenu{background:linear-gradient(180deg,#06142a,#020812);border-right:1px solid #2868a2;box-shadow:24px 0 60px #000b}.menu-link{border-radius:12px;color:#d9e9f7}.menu-link:hover,.menu-link.active,#adminSlideMenu .menu-link.active{border-left:0;background:linear-gradient(90deg,#0b4b8d,#0b2d54);color:#fff}.menu-account{border-radius:16px;background:#071c35;padding:16px!important}.menu-account b{color:#fff}.administration-menu-brand img{width:92px;height:68px;border-radius:10px}
.rewards-hero{text-align:left;background:linear-gradient(125deg,#041225,#083e87 70%,#0a75c9);padding-bottom:42px}.rewards-hero h1{margin-bottom:10px;text-shadow:0 3px 20px #001b4c}.reward-progress{height:18px;border:1px solid #65cfff;border-radius:99px;background:#02122c;overflow:hidden;box-shadow:inset 0 2px 8px #000a}.reward-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#087dff,#28d8ff,#e8f8ff);box-shadow:0 0 22px #35d4ff;transition:width .6s ease}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:30px}.achievement{display:flex;gap:16px;align-items:center;border:1px solid var(--rmf-border);border-radius:18px;background:var(--rmf-card-soft);padding:18px}.achievement.locked{filter:saturate(.25);opacity:.62}.achievement.earned{border-color:#40caff;box-shadow:0 0 28px #0077ff26}.achievement-icon{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff,#72d9ff 18%,#0875dd 55%,#032655);font-size:1.8rem;box-shadow:0 0 22px #1abfff66}.achievement h3,.achievement p{margin:0 0 4px}.ledger-row{display:flex;align-items:center;gap:16px;margin-bottom:10px}.ledger-row>div{display:flex;flex:1;min-width:0;flex-direction:column}.points{min-width:76px;font-size:1.25rem;font-weight:900}.points.positive{color:var(--rmf-success)}.points.negative{color:#ff9aa4}.reward-disclosures{margin-top:26px;border-left:4px solid var(--rmf-info)}.empty-state{text-align:center;color:var(--rmf-muted)}
#toast{max-width:min(92vw,560px);border-radius:14px;box-shadow:0 18px 50px #000a}footer{background:#020812;border-top:1px solid #17395d}footer a{color:#acd8f5}.loading{display:flex;align-items:center;justify-content:center;min-height:35vh;color:#bde9ff}.loading::before{content:"";width:30px;height:30px;margin-right:12px;border:3px solid #1c4d76;border-top-color:#3fd5ff;border-radius:50%;animation:rmfSpin .8s linear infinite}@keyframes rmfSpin{to{transform:rotate(360deg)}}
@media(max-width:680px){body::before{inset:72px 0 0;background-size:115vw;opacity:.035}.hero,.rewards-hero{border-radius:22px;padding:25px 18px}.hero img{width:min(340px,92%)}.cards{grid-template-columns:1fr}.card{border-radius:17px;padding:18px}.ledger-row{align-items:flex-start;flex-wrap:wrap}.ledger-row button{width:100%}.achievement-grid{grid-template-columns:1fr}.administration-dashboard-cards{grid-template-columns:1fr 1fr}.administration-two-column{grid-template-columns:1fr}#toast{bottom:calc(18px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.administration-dashboard-cards{grid-template-columns:1fr}.achievement{align-items:flex-start}.achievement-icon{flex-basis:48px;height:48px}}
@media(max-width:680px){.administration-access-denied .button{display:block;width:100%;margin:10px 0}.administration-access-denied{padding:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
