:root { --orange:#ff521f; --red:#c90000; --ink:#12101a; --striped:repeating-linear-gradient(0deg,#910000 0 2px,#c70000 2px 4px); font-family:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; } 
body { margin:0; color:var(--ink); background:#fff; } 

.site-header { height:51px; background:var(--orange); display:flex; align-items:center; justify-content:space-between; } 
.site-header img { width:118px; height:40px; object-fit:contain; background:#fff; padding:4px 6px; } 
.header-square { width:12px; height:12px; border:1px solid white; margin-right:16px; }

/* REGISTRATION LAYOUT */
.register-page main, .register-bg-wrapper main { margin:auto; background:#fff; } 
.registration-panel { color:#fff; min-height:436px; padding:43px max(18px, calc((100% - 330px) / 2)); background:var(--striped); position:relative; overflow:hidden; } 
.registration-panel::after { content:""; position:absolute; width:120px; height:130px; left:-21px; bottom:-35px; z-index:0; background:url("assets/middle-banner.jpg") left center/480px auto no-repeat; opacity:.82; pointer-events:none; } 
h1 { font-size:21px; font-weight:500; line-height:1.12; text-align:center; margin:16px 0 14px; } 
.registration-panel h1 { font-size:20px; font-weight:700; margin:0 0 11px; } 

form { position:relative; z-index:2; } 
label span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); } 
input { width:100%; height:41px; margin-bottom:15px; padding:0 10px; font-size:12px; border:0; border-radius:3px; color:#555; background:#fff; } 
input[type=date] { color:#777; } 
button { display:block; margin:0 auto; border:0; border-radius:3px; background:#e30909; color:#fff; padding:8px 26px; font-size:10px; font-weight:700; cursor:pointer; } 
.form-status { min-height:12px; margin:7px 0 0; text-align:center; color:#fff; font-size:10px; } 

.people-panel { height:436px; overflow:hidden; text-align:center; background:#fff; display:flex; align-items:center; justify-content:center; } 
.people-panel img { width:100%; height:100%; object-fit:contain; } 

footer { min-height:70px; padding:27px 18px; background:#11151a; color:#c8b192; text-align:center; font-size:8px; line-height:1.45; }

/* POPUP OVERLAY AND CARD */
.modal { position:fixed; inset:0; display:none; z-index:9999; align-items:center; justify-content:center; background:rgba(0, 0, 0, 0.78); padding:15px; } 
.modal.is-open { display:flex; } 
.modal-card { position:relative; width:100%; max-width:460px; padding:28px 24px 32px; background:var(--striped); border:2px solid #fff; border-radius:4px; overflow:hidden; box-shadow:0 12px 35px rgba(0,0,0,0.8); text-align:center; } 
.modal-card h2 { max-width:320px; margin:0 auto 20px; color:#fff; text-align:center; font-size:16px; font-weight:700; line-height:1.3; } 
.modal-card form { position:relative; z-index:2; } 
.modal-card input { height:42px; margin:0 0 14px; padding-left:36px; font-size:13px; border-radius:3px; border:none; color:#333; } 
.modal-card button { margin:8px auto 0; padding:10px 36px; font-size:13px; font-weight:700; background:#e30909; border-radius:3px; } 
.modal-card img { position:absolute; width:160px; height:auto; left:-10px; bottom:-12px; object-fit:cover; pointer-events:none; z-index:1; opacity:0.95; } 
.modal-card .form-status { position:relative; z-index:3; margin-top:10px; }

/* RESULTS CONTAINER */
.results-main { padding:31px 19px 0; } 
.result-shell { border:1px solid #e6e6e6; padding-top:20px; overflow:hidden; } 

.personal-result { width:calc(100% - 36px); max-width: 400px; margin:0 auto 23px; padding:0; border:none; text-align:center; } 
.live-now-header { color:#e30909; font-size:20px; font-weight:700; text-align:center; margin:0 0 16px 0; letter-spacing:0.5px; animation: blink 0.8s infinite; }

@keyframes blink {
  0%, 62.5% { opacity: 1; }
  62.6%, 100% { opacity: 0; }
}

.personal-card { width:100%; max-width:380px; margin:0 auto; padding:20px 16px; border:1px solid #e2e2e2; background:#fff; text-align:center; border-radius:2px; }
.personal-card p { margin:0 auto 10px; font-size:16px; color:#12101a; text-align:center; } 
.personal-card .congrats-title, .personal-card .result-name, .personal-card .result-ticket { width:max-content; max-width:100%; border-bottom:2px solid var(--orange); padding-bottom:2px; } 
.personal-card .congrats-title { font-size:17px; } 
.personal-card .result-name { font-size:17px; font-weight:500; } 
.personal-card .result-ticket { font-size:16px; } 
.personal-card .result-amount { border-bottom:none; font-size:16px; margin-top:14px; margin-bottom:0; } 
.personal-card strong { font-weight:700; }

.result-shell > h1 { margin:0 0 13px; font-size:20px; line-height:1.1; font-weight:400; } 
.result-meta { display:flex; justify-content:space-between; padding:0 13px 12px; } 
.result-meta span,.result-meta time { padding:6px 11px; color:#fff; border-radius:3px; font-size:9px; font-weight:700; background:#3aaa57; } 
.result-meta time { background:var(--orange); } 
.prize-group h2 { margin:0; padding:12px 8px; background:var(--orange); color:#fff; text-align:center; font-size:14px; line-height:1.1; font-weight:700; } 
.prize-group > div { padding:11px 10px; display:flex; flex-wrap:wrap; justify-content:center; gap:7px 6px; } 
.prize-group span { min-width:67px; padding:4px 5px; border:1px solid #9fa6aa; border-radius:3px; color:#4b5660; text-align:center; font-size:9px; white-space:nowrap; } 

.branded-footer { margin-top:49px; min-height:385px; padding:61px 21px 30px; background:#11151a radial-gradient(circle at 20% 20%,#2d0455 0 25px,transparent 26px),radial-gradient(circle at 80% 45%,#210138 0 28px,transparent 29px); color:#fff; } 
.branded-footer img { width:205px; max-width:90%; height:auto; background:transparent; } 
.branded-footer nav { display:grid; grid-template-columns:1fr 1fr; max-width:240px; gap:10px 16px; margin:27px auto 31px; } 
.branded-footer a { color:#fff; font-size:10px; text-decoration:none; } 
.footer-rule { display:flex; align-items:center; gap:8px; color:#fff; font-size:23px; } 
.footer-rule::before,.footer-rule::after { content:""; flex:1; border-top:1px solid #fff; } 
.branded-footer p { margin:39px auto 0; max-width:190px; color:#c4afca; font-size:9px; line-height:1.7; }

/* DESKTOP (PC) LAYOUT STYLES */
@media (min-width:700px) { 
  .site-header { height:96px; } 
  .site-header img { width:315px; height:96px; padding:9px; } 
  .register-page main, .register-bg-wrapper main { max-width:1200px; display:grid; grid-template-columns:1fr 1fr; } 
  .registration-panel { padding:43px 135px; }
}

.field { position:relative; display:block; }
.field-icon { position:absolute; z-index:3; top:13px; left:10px; width:14px; height:14px; fill:none; stroke:#62727c; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.registration-panel .field input, .modal-card .field input { padding-left:34px; }