:root {
    color-scheme: light;
    --ink: #17201d;
    --fixed-ink: #17201d;
    --paper: #f4f1e8;
    --surface: #fff;
    --surface-soft: #ecece7;
    --muted: #616863;
    --green: #087f5b;
    --green-dark: #055c43;
    --yellow: #ffd43b;
    --red: #d94841;
    --line: #d7d4ca;
    --ticket-shadow: #c9c5b8;
    --shadow: 0 12px 30px rgba(23, 32, 29, .1);
    --shadow-soft: 0 5px 16px rgba(23, 32, 29, .07);
}

[data-theme="dark"] {
    color-scheme: dark;
    --ink: #edf4f0;
    --paper: #101713;
    --surface: #19231e;
    --surface-soft: #26332c;
    --muted: #aab7b0;
    --green: #2ab386;
    --green-dark: #075d44;
    --line: #39483f;
    --ticket-shadow: #080d0a;
    --shadow: 0 14px 34px rgba(0, 0, 0, .3);
    --shadow-soft: 0 6px 18px rgba(0, 0, 0, .22);
}

* { box-sizing: border-box; }

body {
    margin: 0;
    color: var(--ink);
    background-color: var(--paper);
    background-image: linear-gradient(135deg, color-mix(in srgb, var(--green) 5%, transparent), transparent 36%);
    font-family: "Archivo", sans-serif;
    letter-spacing: 0;
}

.site-header { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--surface) 90%, transparent); border-bottom: 1px solid var(--line); box-shadow: 0 5px 18px rgba(23,32,29,.05); backdrop-filter: blur(14px); }
.navbar { min-height: 72px; }
.navbar-brand { display: flex; align-items: center; gap: .7rem; color: var(--ink); font-size: 1.15rem; }
.brand-mark { display: block; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; box-shadow: 0 7px 18px rgba(8,127,91,.2); }
.age-notice { color: var(--muted); font-size: .78rem; font-weight: 600; }
.site-login-link { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: .4rem; }
.theme-toggle { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; color: var(--ink); background: linear-gradient(145deg, var(--surface), var(--surface-soft)); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-soft); transition: transform .18s ease, border-color .18s ease; }
.theme-toggle:hover, .theme-toggle:focus-visible { color: var(--green); border-color: var(--green); }

.jackpot-band {
    overflow: hidden;
    color: #fff;
    background-color: var(--green-dark);
    background-image: linear-gradient(120deg, #064f3c, var(--green-dark) 58%, #16362d), radial-gradient(circle at 12% 20%, rgba(255, 212, 59, .18) 0 2px, transparent 3px);
    background-size: auto, 34px 34px;
}

.jackpot-content { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; align-items: center; padding-block: 3.25rem; }
.eyebrow, .step-label { display: block; margin-bottom: .45rem; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jackpot-band h1 { max-width: 720px; margin: 0 0 .65rem; font-family: "Fraunces", serif; font-size: clamp(2.15rem, 6vw, 4.5rem); line-height: .98; letter-spacing: 0; }
.jackpot-band p { margin: 0; color: rgba(255, 255, 255, .78); }
.draw-status { min-width: 250px; padding: 1.4rem; color: var(--fixed-ink); background: linear-gradient(145deg, #ffe77f, var(--yellow)); border: 2px solid var(--fixed-ink); border-radius: 8px; box-shadow: 7px 7px 0 var(--fixed-ink); }
.draw-status span { display: block; font-size: .78rem; }
.draw-status strong { display: block; margin: .2rem 0 1rem; font-family: "Fraunces", serif; font-size: 1.75rem; }
.draw-status__label { font-weight: 800; text-transform: uppercase; }
.draw-status__date { margin-bottom: .35rem; font-weight: 700; }
.draw-financials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin: .8rem 1rem 0; padding-top: .75rem; border-top: 1px solid var(--line); }
.draw-financials span { display: grid; gap: .2rem; color: var(--muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.draw-financials strong { color: var(--ink); font-size: .72rem; }

.prize-showcase { padding-block: 3.25rem 4rem; background-image: repeating-linear-gradient(135deg, transparent 0 18px, color-mix(in srgb, var(--green) 4%, transparent) 18px 19px); }
.prize-showcase__heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.prize-showcase__heading .eyebrow { color: var(--green); }
.prize-showcase__heading h2 { margin: 0; font-family: "Fraunces", serif; font-size: 2.35rem; letter-spacing: 0; }
.prize-showcase__live { display: flex; align-items: center; gap: .5rem; padding: .5rem .7rem; color: var(--green-dark); background: color-mix(in srgb, var(--green) 10%, var(--surface)); border: 1px solid color-mix(in srgb, var(--green) 35%, var(--line)); border-radius: 6px; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.prize-showcase__live i { width: 8px; height: 8px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px color-mix(in srgb, var(--green) 18%, transparent); }
.prize-awards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.prize-award { --award-accent: var(--green); position: relative; display: flex; min-width: 0; min-height: 265px; overflow: hidden; flex-direction: column; padding: 1.25rem; background: linear-gradient(155deg, var(--surface), color-mix(in srgb, var(--award-accent) 7%, var(--surface))); border: 1px solid var(--line); border-top: 6px solid var(--award-accent); border-radius: 8px; box-shadow: var(--shadow-soft); animation: prize-reveal .55s both; transition: transform .2s ease, box-shadow .2s ease; }
.prize-award:nth-child(2) { animation-delay: .08s; }
.prize-award:nth-child(3) { animation-delay: .16s; }
.prize-award:nth-child(4) { animation-delay: .24s; }
.prize-award:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.prize-award--6 { --award-accent: #d5a200; }
.prize-award--5 { --award-accent: #087f5b; }
.prize-award--4 { --award-accent: #d94841; }
.prize-award--3 { --award-accent: #356aa0; }
.prize-award header { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.prize-award header i { color: var(--award-accent); font-size: 1rem; }
.prize-award__hits { display: flex; flex: 1; align-items: baseline; gap: .55rem; padding-block: 1.1rem; }
.prize-award__hits strong { color: var(--award-accent); font-family: "Fraunces", serif; font-size: 5rem; line-height: .9; letter-spacing: 0; }
.prize-award__hits span { color: var(--muted); font-size: .8rem; font-weight: 800; text-transform: uppercase; }
.prize-award__amount { padding-top: 1rem; border-top: 1px solid var(--line); }
.prize-award__amount span, .prize-award__amount strong { display: block; }
.prize-award__amount span { margin-bottom: .35rem; color: var(--muted); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.prize-award__amount strong { overflow-wrap: anywhere; color: var(--ink); font-family: "Fraunces", serif; font-size: 1.45rem; line-height: 1.1; letter-spacing: 0; }
@keyframes prize-reveal { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.btn { border-radius: 10px; transition: transform .18s ease, box-shadow .18s ease; }
.btn:hover:not(:disabled) { transform: translateY(-1px); }
.btn-success { --bs-btn-bg: var(--green); --bs-btn-border-color: transparent; --bs-btn-hover-bg: var(--green-dark); --bs-btn-hover-border-color: transparent; background-image: linear-gradient(135deg, var(--green), var(--green-dark)); box-shadow: 0 8px 20px rgba(8,127,91,.2); }

.site-footer { padding-block: 1.5rem; color: var(--muted); background: var(--surface); border-top: 1px solid var(--line); font-size: .72rem; }
.site-footer__content { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 2rem; align-items: center; }
.site-footer__brand { display: grid; gap: .25rem; }
.site-footer__brand strong { color: var(--ink); font-family: "Fraunces", serif; font-size: 1rem; letter-spacing: 0; }
.site-footer__socials { display: flex; gap: .55rem; align-items: center; }
.site-footer__socials > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--ink); background: var(--surface-soft); border: 1px solid var(--line); border-radius: 50%; font-size: 1.15rem; }
.site-footer__age { display: flex; align-items: center; gap: .6rem; color: var(--ink); font-weight: 800; }
.site-footer__age b { display: grid; width: 52px; height: 52px; place-items: center; color: #fff; background: var(--red); border: 3px solid color-mix(in srgb, var(--red) 65%, var(--ink)); border-radius: 50%; font-family: "Archivo", sans-serif; font-size: 1.1rem; letter-spacing: 0; }
.offcanvas-title { font-family: "Fraunces", serif; }
.rules-list { padding-left: 1.2rem; }
.rules-list li { padding: .6rem 0; border-bottom: 1px solid var(--line); }

.verify-header { background: var(--surface); border-bottom: 1px solid var(--line); }
.verify-header .container { display: flex; min-height: 72px; align-items: center; justify-content: space-between; }
.verify-hero { color: #fff; background: #075d44; }
.verify-hero .container { padding-block: 2.5rem; }
.verify-hero h1 { margin: 0; font-family: "Fraunces", serif; font-size: clamp(2rem, 5vw, 3.7rem); letter-spacing: 0; }
.verify-hero p { max-width: 620px; margin: .6rem 0 0; color: rgba(255,255,255,.75); }
.verify-main { min-height: calc(100vh - 130px); }
.verify-content { display: grid; gap: 1rem; padding-block: 1.5rem 3rem; }
.verify-status { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; align-items: center; padding: 1.25rem; background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--green); border-radius: 8px; box-shadow: var(--shadow-soft); }
.verify-status > div, .verify-ticket-heading > div, .verify-result > div, .verify-prize > div, .verify-marketing > div { min-width: 0; }
.verify-status > i { color: var(--green); font-size: 2.5rem; }
.verify-status.is-invalid { border-left-color: var(--red); }
.verify-status.is-invalid > i { color: var(--red); }
.verify-status span, .verify-ticket-heading span, .verify-number-group > span, .verify-result span, .verify-prize span, .verify-marketing span { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.verify-status h2, .verify-result h2, .verify-prize h2, .verify-marketing h2 { margin: .15rem 0 .3rem; font-family: "Fraunces", serif; letter-spacing: 0; }
.verify-status p, .verify-result p, .verify-prize p, .verify-marketing p { margin: 0; color: var(--muted); font-size: .82rem; }
.verify-ticket-data { padding: 1.25rem; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.verify-ticket-heading { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px dashed var(--line); }
.verify-ticket-heading div { display: grid; gap: .15rem; }
.verify-ticket-heading div:last-child { text-align: right; }
.verify-ticket-heading strong { font-size: 1.05rem; }
.verify-ticket-heading strong, .verify-prize h2 { overflow-wrap: anywhere; }
.verify-ticket-data dl { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; }
.verify-ticket-data dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); font-size: .78rem; }
.verify-ticket-data dl div:nth-child(odd) { padding-right: 1rem; }
.verify-ticket-data dl div:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--line); }
.verify-ticket-data dt { color: var(--muted); font-weight: 500; }
.verify-ticket-data dd { margin: 0; text-align: right; font-weight: 700; }
.verify-number-group { padding-top: 1rem; }
.verify-number-group > div, .verify-winning-numbers { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .65rem; }
.verify-number-group b, .verify-winning-numbers b { display: grid; width: 42px; height: 42px; place-items: center; color: #fff; background: var(--green); border-radius: 50%; font-size: .8rem; }
.result-balls { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.result-ball { display: grid; width: min(50px, 12vw); aspect-ratio: 1; place-items: center; flex: 0 0 auto; border: 2px solid rgba(255,255,255,.72); border-radius: 50%; color: #17201d; box-shadow: 0 5px 12px rgba(23,32,29,.16), inset 0 2px 0 rgba(255,255,255,.55); font-size: clamp(.72rem, 2vw, 1rem); font-weight: 800; line-height: 1; }
.result-ball--1 { color: #6b4f00; background: linear-gradient(145deg, #fff3a6, #ffd43b 52%, #d9a900); }
.result-ball--2 { color: #06456e; background: linear-gradient(145deg, #d9f0ff, #74c0fc 52%, #3b8dcc); }
.result-ball--3 { color: #761f24; background: linear-gradient(145deg, #ffd0d0, #ff8787 52%, #d95862); }
.result-ball--4 { color: #145c2a; background: linear-gradient(145deg, #c9f7d2, #69db7c 52%, #35a854); }
.result-ball--5 { color: #5b216d; background: linear-gradient(145deg, #f3d4ff, #da77f2 52%, #a347bf); }
.result-ball--6 { color: #713a00; background: linear-gradient(145deg, #ffe0b2, #ffa94d 52%, #db7620); }
.result-ball--7 { color: #17446b; background: linear-gradient(145deg, #d8f5ff, #66d9e8 52%, #168aad); }
.result-ball--8 { color: #5b4010; background: linear-gradient(145deg, #fff0c2, #fcc419 52%, #e67700); }
.result-ball--9 { color: #5c1835; background: linear-gradient(145deg, #ffd6e7, #f783ac 52%, #c2255c); }
.result-ball--10 { color: #244c38; background: linear-gradient(145deg, #d3f9d8, #8ce99a 52%, #2f9e44); }
.result-ball--11 { color: #3e2768; background: linear-gradient(145deg, #e5dbff, #9775fa 52%, #6741d9); }
.result-ball--12 { color: #59320d; background: linear-gradient(145deg, #ffe8cc, #ffb366 52%, #d9480f); }
.result-ball--13 { color: #0b5360; background: linear-gradient(145deg, #c5f6fa, #3bc9db 52%, #1098ad); }
.result-ball--14 { color: #533b08; background: linear-gradient(145deg, #fff9db, #ffe066 52%, #fab005); }
.result-ball--15 { color: #631c36; background: linear-gradient(145deg, #ffe3ec, #faa2c1 52%, #e64980); }
.result-ball--16 { color: #1d5735; background: linear-gradient(145deg, #d8f5a2, #a9e34b 52%, #66a80f); }
.result-ball--17 { color: #3a286b; background: linear-gradient(145deg, #e5dbff, #b197fc 52%, #7950f2); }
.result-ball--18 { color: #65300b; background: linear-gradient(145deg, #fff4e6, #ffc078 52%, #f76707); }
.result-ball--19 { color: #155047; background: linear-gradient(145deg, #c3fae8, #63e6be 52%, #0ca678); }
.result-ball--20 { color: #714d0a; background: linear-gradient(145deg, #fff3bf, #ffd43b 52%, #f08c00); }
.result-ball--21 { color: #651d3d; background: linear-gradient(145deg, #ffdeeb, #ff8fab 52%, #d6336c); }
.result-ball--22 { color: #245c2b; background: linear-gradient(145deg, #e3f9e5, #8ce99a 52%, #37b24d); }
.result-ball--23 { color: #443276; background: linear-gradient(145deg, #f0e6ff, #c0aaff 52%, #845ef7); }
.result-ball--24 { color: #713b09; background: linear-gradient(145deg, #fff0db, #ffa94d 52%, #e8590c); }
.result-ball--25 { color: #14525b; background: linear-gradient(145deg, #d0f4f7, #66d9e8 52%, #0b7285); }
.result-ball--26 { color: #584305; background: linear-gradient(145deg, #fff9db, #ffe066 52%, #f59f00); }
.result-ball--27 { color: #761d46; background: linear-gradient(145deg, #ffe3ec, #f783ac 52%, #c2255c); }
.result-ball--28 { color: #1e5630; background: linear-gradient(145deg, #d3f9d8, #69db7c 52%, #2b8a3e); }
.result-ball--29 { color: #4c3270; background: linear-gradient(145deg, #e5dbff, #da77f2 52%, #9c36b5); }
.result-ball--30 { color: #703609; background: linear-gradient(145deg, #ffe8cc, #ffb366 52%, #d9480f); }
.result-ball--31 { color: #0f514b; background: linear-gradient(145deg, #c3fae8, #63e6be 52%, #099268); }
.result-ball--32 { color: #5d4308; background: linear-gradient(145deg, #fff3bf, #fcc419 52%, #e67700); }
.result-ball--33 { color: #6b1e3e; background: linear-gradient(145deg, #ffd6e7, #ff8787 52%, #d6336c); }
.result-ball--34 { color: #24552c; background: linear-gradient(145deg, #d8f5d0, #8ce99a 52%, #2f9e44); }
.result-ball--35 { color: #3e2b6d; background: linear-gradient(145deg, #e5dbff, #9775fa 52%, #6741d9); }
.result-ball--36 { color: #65320b; background: linear-gradient(145deg, #ffe8cc, #ffa94d 52%, #e8590c); }
.result-ball--37 { color: #075261; background: linear-gradient(145deg, #c5f6fa, #66d9e8 52%, #1098ad); }
.result-ball--38 { color: #594107; background: linear-gradient(145deg, #fff3bf, #ffd43b 52%, #f08c00); }
.result-ball--39 { color: #661d40; background: linear-gradient(145deg, #ffe3ec, #faa2c1 52%, #d6336c); }
.result-ball--40 { color: #1c5830; background: linear-gradient(145deg, #d3f9d8, #69db7c 52%, #2b8a3e); }
.result-ball--41 { color: #472c70; background: linear-gradient(145deg, #f0e6ff, #da77f2 52%, #9c36b5); }
.result-ball--42 { color: #71370a; background: linear-gradient(145deg, #ffe8cc, #ffa94d 52%, #d9480f); }
.result-balls--compact { min-width: 230px; gap: .25rem; }
.result-balls--compact .result-ball { width: 32px; font-size: .68rem; }
.winner-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .5rem; padding: 0 1rem 1rem; color: var(--muted); font-size: .68rem; }
.winner-summary span { padding: .35rem .45rem; background: var(--surface-soft); border-radius: 5px; }
.winner-summary strong { color: var(--ink); }
.verify-result, .verify-prize, .verify-safety { display: flex; gap: 1rem; align-items: center; padding: 1.25rem; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.verify-result > i, .verify-prize > i, .verify-safety > i { color: var(--green); font-size: 2rem; }
.verify-result:not(.is-pending) { justify-content: space-between; }
.verify-hits { display: grid; min-width: 96px; justify-items: center; padding: .75rem; color: #fff; background: var(--green); border-radius: 8px; }
.verify-hits strong { font-family: "Fraunces", serif; font-size: 2rem; line-height: 1; }
.verify-hits span { color: rgba(255,255,255,.75); }
.verify-prize.has-prize { color: #17201d; background: #ffd43b; border-color: #17201d; }
.verify-prize.has-prize > i, .verify-prize.has-prize span, .verify-prize.has-prize p { color: #17201d; }
.verify-safety > i { color: var(--red); }
.verify-safety p { margin: .2rem 0 0; color: var(--muted); font-size: .78rem; }
.verify-marketing { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.5rem; color: #fff; background: #17201d; border-radius: 8px; }
.verify-marketing span, .verify-marketing p { color: rgba(255,255,255,.65); }
.verify-marketing a { flex: 0 0 auto; padding: .75rem 1rem; color: #17201d; background: #ffd43b; border-radius: 6px; font-size: .76rem; font-weight: 800; text-decoration: none; }

[data-theme="dark"] .btn-outline-dark { --bs-btn-color: var(--ink); --bs-btn-border-color: var(--line); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--green); --bs-btn-hover-border-color: var(--green); }
[data-theme="dark"] .btn-dark { --bs-btn-bg: #29352f; --bs-btn-border-color: #48574f; --bs-btn-hover-bg: #34443b; }
[data-theme="dark"] .text-dark { color: var(--ink) !important; }
[data-theme="dark"] .offcanvas { --bs-offcanvas-bg: var(--surface); --bs-offcanvas-color: var(--ink); }
[data-theme="dark"] .prize-showcase__live { color: var(--green); }

@media (max-width: 991.98px) {
    .jackpot-content { grid-template-columns: 1fr; gap: 1.75rem; }
    .draw-status { width: min(100%, 390px); }
    .prize-awards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-footer__content { grid-template-columns: 1fr auto; }
    .site-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 575.98px) {
    .navbar-brand { font-size: .95rem; }
    .site-login-link { width: 40px; padding-inline: 0; }
    .jackpot-content { padding-block: 2.5rem; }
    .draw-status { min-width: 0; }
    .prize-showcase { padding-block: 2.5rem; }
    .prize-showcase__heading { align-items: flex-start; flex-direction: column; }
    .prize-showcase__heading h2 { font-size: 2rem; }
    .prize-awards { grid-template-columns: 1fr; }
    .prize-award { min-height: 220px; }
    .prize-award__hits strong { font-size: 4rem; }
    .site-footer__content { grid-template-columns: 1fr; gap: 1.25rem; }
    .site-footer__brand { grid-column: auto; }
    .site-footer__socials { flex-wrap: wrap; }
    .site-footer__age { justify-content: space-between; }
    .verify-hero .container { padding-block: 2rem; }
    .verify-status { grid-template-columns: 42px 1fr; }
    .verify-status > i { font-size: 2rem; }
    .verify-ticket-data dl { grid-template-columns: 1fr; }
    .verify-ticket-data dl div:nth-child(odd), .verify-ticket-data dl div:nth-child(even) { padding-inline: 0; border-left: 0; }
    .verify-number-group b, .verify-winning-numbers b { width: 34px; height: 34px; font-size: .7rem; }
    .verify-result:not(.is-pending), .verify-marketing { align-items: stretch; flex-direction: column; }
    .verify-marketing a { text-align: center; }
    .result-balls { gap: .35rem; }
    .result-ball { width: 40px; }
    .winner-summary { grid-template-columns: 1fr; }
}

@media (max-width: 300px) {
    .verify-header .navbar-brand > span:last-child { display: none; }
    .verify-header .container { padding-inline: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}