.ref-event,.ref-event-admin,.re-dialog{--re-bg:#0c1c29;--re-card:#122735;--re-line:#294551;--re-gold:#edc56c;--re-text:#e7f0f3;--re-muted:#aac0c8;color:var(--re-text);font:14px/1.55 Arial,sans-serif;text-align:left;box-sizing:border-box}
.ref-event{margin:16px;border:1px solid var(--re-line);border-radius:16px;overflow:hidden;flex:none}
.ref-event *,.ref-event-admin *,.re-dialog *{box-sizing:border-box}
.re-hero{position:relative;padding:28px;background:radial-gradient(ellipse at 100% 10%,#b1872725,transparent 60%),linear-gradient(120deg,#173b40,#0c1c29);border-bottom:1px solid var(--re-line)}
.re-kicker{font-size:10px;font-weight:bold;letter-spacing:2px;color:var(--re-gold);padding-right:140px}.re-status{display:inline-block;padding:5px 10px;border:1px solid #66836d;border-radius:20px;font-size:11px;color:#b8eedb;position:absolute;right:24px;top:22px;background:#0a2929}
.re-hero h3,.re-hero h1{margin:15px 0 10px;color:#fff3cf;font:bold clamp(25px,4vw,38px)/1.13 Georgia,serif;letter-spacing:-.5px;max-width:700px}.re-hero p{max-width:620px;margin:0 0 12px;color:var(--re-muted);font-size:14px}.re-hero b{color:var(--re-text)}.re-period{font-size:12px;color:var(--re-muted)}
.re-cash{display:flex;align-items:center;gap:16px;border-top:1px solid #ffffff1c;margin-top:20px;padding-top:18px}.re-cash b{font-size:22px;color:var(--re-gold);white-space:nowrap}.re-cash span{font-size:12px;max-width:270px;color:var(--re-muted)}
.re-body{padding:20px;background:var(--re-bg)}.re-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}.re-metrics>div{display:flex;flex-direction:column;padding:14px;border:1px solid var(--re-line);border-radius:10px;background:var(--re-card)}.re-metrics b{font-size:27px;line-height:1.2;color:var(--re-gold)}.re-metrics span{font-size:11px;margin-top:6px;color:var(--re-muted)}
.re-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.re-section-title h4,.ref-event-admin h2{font-size:17px;margin:0;color:var(--re-text)}
.ref-event button,.ref-event-admin button,.re-dialog button{border:1px solid #607985;border-radius:7px;padding:8px 13px;background:#183847;color:#ecf4f7;cursor:pointer;font:600 12px/1.4 Arial,sans-serif}.ref-event button:hover,.ref-event-admin button:hover,.re-dialog button:hover{border-color:var(--re-gold);background:#214854}.ref-event button:disabled,.ref-event-admin button:disabled,.re-dialog button:disabled{opacity:.45;cursor:not-allowed}.re-primary{background:var(--re-gold)!important;color:#15232c!important;border-color:var(--re-gold)!important}.re-danger{border-color:#d38683!important;color:#ffc4c2!important}
.re-ranking{margin:0;padding:0;list-style:none}.re-ranking li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 6px;border-bottom:1px solid var(--re-line)}.re-ranking li.re-me{background:#26524944}.re-rank{font:bold 18px Georgia,serif;color:var(--re-gold)}.re-ranking li small{display:block;font-size:11px;color:var(--re-muted);font-weight:normal}.re-ranking li strong{color:#94e5d1;white-space:nowrap;text-align:right}.re-ranking li:first-child .re-rank{color:#ffdc81}
.re-empty{text-align:center;border:1px dashed var(--re-line);border-radius:10px;padding:24px 16px;margin-bottom:20px}.re-empty>span{display:block;color:var(--re-gold);font-size:25px;margin-bottom:7px}.re-empty p{font-size:12px;margin:6px auto;max-width:410px;color:var(--re-muted)}
.re-details{border-top:1px solid var(--re-line);padding:13px 0}.re-details summary{cursor:pointer;color:#dcebef;font-weight:600;font-size:13px}.re-details p,.re-details li{font-size:12px;color:var(--re-muted)}.re-details li{margin:8px 0}.re-prizes{margin-top:12px}.re-prizes>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid #ffffff0c;font-size:12px}.re-prizes b,.re-prizes strong{color:var(--re-gold)}.re-prizes strong{grid-column:2}.re-footnote{font-size:11px!important;color:var(--re-muted);margin:12px 0 0}
.ref-event-admin{max-width:1450px;margin:auto;padding:24px;background:var(--re-bg);min-height:100%}.ref-event-admin .re-hero{border:1px solid var(--re-line);border-radius:14px;margin-bottom:20px}.re-admin-card{padding:20px;border:1px solid var(--re-line);border-radius:12px;background:var(--re-card);margin-bottom:18px}.re-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.re-admin-grid>.re-admin-card{min-width:0}.re-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.re-toolbar input{flex:1;min-width:180px}.ref-event-admin label,.re-dialog label{display:grid;gap:5px;margin:12px 0;color:var(--re-muted);font-size:12px}.ref-event-admin input,.ref-event-admin select,.ref-event-admin textarea,.re-dialog input,.re-dialog select,.re-dialog textarea{width:100%;border:1px solid #486472;border-radius:6px;padding:9px 10px;background:#0a1c28;color:#edf5f8;font:14px/1.4 Arial,sans-serif;min-width:0}.ref-event-admin input[type=checkbox]{width:auto}.re-check{display:flex!important;align-items:center;gap:10px!important}.re-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--re-line);border-radius:8px}.ref-event-admin table{width:100%;border-collapse:collapse;font-size:12px;min-width:640px}.ref-event-admin th{text-align:left;padding:11px;color:var(--re-muted);background:#0c202d;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.ref-event-admin td{padding:12px 11px;vertical-align:top;border-top:1px solid var(--re-line);overflow-wrap:anywhere}.ref-event-admin td small{display:block;color:var(--re-muted);margin:5px 0;font-size:11px}.ref-event-admin code{font-size:11px;color:#c9e1f0}.ref-event-admin p{color:var(--re-muted);font-size:13px}.re-good{color:#8ddcb6}.re-warn{color:#f2c775}.re-error{color:#ffb5b2!important}.re-pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px}.re-audit{max-height:380px;overflow:auto}.re-audit article{border-bottom:1px solid var(--re-line);padding:12px 0}.re-audit article p{margin:4px 0;font-size:12px}.re-audit pre{white-space:pre-wrap;font-size:11px;overflow-wrap:anywhere;color:var(--re-muted)}
.re-dialog{width:min(600px,94vw);max-height:90dvh;overflow:auto;border:1px solid var(--re-line);border-radius:14px;background:var(--re-bg);padding:24px;box-shadow:0 25px 80px #000b}.re-dialog::backdrop{background:#000a}.re-dialog h2{font:24px Georgia,serif;color:var(--re-gold);margin:0 0 16px}.re-dialog p,.re-dialog li{color:var(--re-muted);font-size:13px}.re-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.re-dialog textarea{resize:vertical;min-height:80px}.re-dialog ul{padding-left:20px}.re-dialog .re-feedback{min-height:20px;font-size:12px}
@media(max-width:750px){.ref-event{margin:10px}.re-hero{padding:20px}.re-kicker{padding-right:0}.re-status{position:static;margin-top:12px}.re-cash{align-items:flex-start;flex-direction:column;gap:5px}.re-body{padding:14px}.re-metrics{gap:6px}.re-metrics>div{padding:10px}.re-metrics b{font-size:24px}.re-admin-grid{grid-template-columns:1fr}.ref-event-admin{padding:12px}.re-admin-card{padding:14px}.re-ranking li{gap:6px}.re-ranking li small{font-size:10px}.re-dialog{padding:18px}}
@media(prefers-reduced-motion:reduce){.ref-event *,.ref-event-admin *{scroll-behavior:auto}}

/* Floating game windows have their own width, independent of the viewport. */
.ref-event{container-type:inline-size}
#referral-system #referral-event-panel .re-hero h3{font-size:1.7em!important;line-height:1.15!important}
@container(max-width:520px){
 .re-hero{padding:16px}.re-kicker{padding-right:0;font-size:9px;letter-spacing:1px}
 .re-status{position:static;margin-top:8px;padding:4px 9px}
 .re-hero h3{margin:10px 0 8px}.re-hero p{font-size:12px;margin-bottom:8px}
 .re-period{font-size:11px}.re-cash{flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px;padding-top:12px}
 .re-cash b{white-space:normal;font-size:20px}.re-cash span{font-size:11px;max-width:none}
 .re-body{padding:12px}.re-metrics{gap:6px}.re-metrics>div{padding:9px 7px}.re-metrics b{font-size:23px}.re-metrics span{font-size:10px}
 .re-section-title h4{font-size:14px}.re-ranking li{grid-template-columns:26px minmax(0,1fr) auto;gap:6px}.re-ranking li small{font-size:10px}
}


 .ref-event .re-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
 .re-return-card,.re-return-progress{padding:18px;margin:16px 0;border:1px solid #cda95370;border-radius:12px;background:linear-gradient(120deg,#142f3f,#10212f)}
 .re-return-card h4,.re-return-progress h4{margin:6px 0 10px;font-size:19px;color:#ffe09a}
 .re-return-card p,.re-return-progress p{color:#c6d9e2;font-size:13px;line-height:1.6}
 .re-return-card label{display:block;font-size:11px;color:#92dee9;letter-spacing:.4px}
 .re-return-link{display:flex;gap:8px;margin-top:7px}.re-return-link input{min-width:0;flex:1;padding:11px;border:1px solid #588294;border-radius:7px;background:#071824;color:#e1f6ff}
 .re-return-link button{padding:10px 14px;border:1px solid #ffe095;border-radius:7px;background:#e8bb55;color:#112638;font-weight:800;cursor:pointer}
 .re-return-progress progress{display:block;width:100%;height:12px;margin:10px 0;accent-color:#5be2cf}
 @media(max-width:600px){.ref-event .re-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.re-return-link{flex-direction:column}.re-return-card,.re-return-progress{padding:12px}}

/* Keep the invite usable inside narrow, player-resized game windows. */
#referral-system #referral-event-panel .re-return-link{flex-wrap:wrap;gap:8px}
#referral-system #referral-event-panel .re-return-link input{flex:1 1 200px;max-width:100%;width:100%}
#referral-system #referral-event-panel .re-return-link button{background:linear-gradient(#ffe793,#efb532)!important;color:#11263b!important;border:1px solid #ffe095!important;font-weight:800!important;min-height:40px;flex:0 0 auto}
