*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:#f5f5f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{font-family:'Geist',sans-serif;color:#091e2f;overflow-x:hidden}
.site{width:100%;overflow-x:clip}
/* ---- responsive scaling: pixel-perfect at 1440 / 390, proportional elsewhere ---- */
.view{position:relative;margin:0 auto;transform-origin:0 0}
.view-d{width:1440px;zoom:var(--zd,1)}
.view-m{width:390px;zoom:var(--zm,1);display:none}
@media (max-width:767px){.view-d{display:none}.view-m{display:block}}
@supports not (zoom:1){.view-d{transform:scale(var(--zd,1))}.view-m{transform:scale(var(--zm,1))}}
/* ---- interactivity ---- */
.lnk{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
a.lnk{text-decoration:none;color:inherit}
.lnk:hover{filter:brightness(.97)}
[data-t].lnk:hover{text-decoration:underline;text-underline-offset:3px}
.lnk:focus-visible{outline:2px solid #0d9488;outline-offset:2px;border-radius:4px}
[data-t]{margin:0}
.lang-opt{cursor:pointer;opacity:.55;transition:opacity .15s}
.lang-opt:hover{opacity:.85}
html:not(.lang-fr) .lang-opt[data-set-lang="en"],html.lang-fr .lang-opt[data-set-lang="fr"]{opacity:1;font-weight:700}
/* fields */
.fld{font:inherit;color:#091e2f !important}
.fld::placeholder{color:#94a3b8;opacity:1}
.field{transition:box-shadow .15s}
.field:focus-within{box-shadow:inset 0 0 0 2px #0d9488 !important}
.field.invalid{box-shadow:inset 0 0 0 2px #dc2626 !important}
.field-error{font:500 12px/1.3 'Geist',sans-serif;color:#dc2626;margin-top:6px}
.cb{cursor:pointer;position:relative;transition:background-color .15s,box-shadow .15s}
.cb[aria-checked="true"]{background:#0d9488 !important;box-shadow:none !important}
.cb[aria-checked="true"]::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cb.invalid{box-shadow:inset 0 0 0 2px #dc2626 !important}
/* mega menu */
.mega{position:absolute;left:0;top:108px;width:1440px;z-index:60;box-shadow:0 20px 40px -20px rgba(9,30,47,.25)}
.mega[hidden]{display:none}
.mega .lnk:hover{background:#f1f5f9;border-radius:8px}
/* mobile menu */
.mmenu{position:fixed;inset:0;z-index:70;background:#fff;overflow:hidden}
.mmenu[hidden]{display:none}
.mmenu-scroll{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
body.menu-open{overflow:hidden}
/* modals */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:24px 0}
.modal[hidden]{display:none}
.modal-bg{position:absolute;inset:0;background:rgba(13,148,136,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.modal-wrap{position:relative;z-index:1;width:100%}
.modal-wrap .view-d{width:100%;display:flex;justify-content:center;zoom:var(--zd,1)}
.modal-wrap .view-m{width:100%;zoom:var(--zm,1);padding:0 20px}
.modal-wrap .view-m>div{margin:0 auto}
@media (max-width:767px){.modal-wrap .view-d{display:none}.modal-wrap .view-m{display:block}}
body.modal-open{overflow:hidden}
/* ticket result */
.ticket-result{margin-top:12px;padding:12px 16px;border-radius:8px;font:500 14px/1.4 'Geist',sans-serif;align-self:stretch}
.ticket-result.win{background:#ccfbf1;color:#0f766e}
.ticket-result.lose{background:#f1f5f9;color:#334155}
.ticket-result.err{background:#fee2e2;color:#b91c1c}
/* pagination */
[data-n^="page-"].active{background:#0d9488 !important}
[data-n^="page-"].active [data-t]{color:#fff !important}
[data-n^="page-"].disabled{opacity:.4;pointer-events:none}
/* toast */
.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);background:#091e2f;color:#fff;padding:12px 18px;border-radius:10px;font:500 14px/1.3 'Geist',sans-serif;z-index:200;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:90vw}
.toast[hidden]{display:none}
/* games nav chevron rotate when open */
[data-action="toggle-games"].open [data-n="chevron-down"]{transform:rotate(180deg)}
/* reduce motion */
@media (prefers-reduced-motion:reduce){*{transition:none !important}}
/* game cards */
.game-card{cursor:pointer;transition:outline-color .15s,transform .15s;outline:2px solid transparent;outline-offset:-2px}
.game-card:hover{transform:translateY(-2px)}
.game-card.selected{outline-color:#0d9488}
.game-card:focus-visible{outline-color:#0d9488}
.auth-note{font:500 13px/1.4 'Geist',sans-serif;color:#0f766e;background:#ccfbf1;border-radius:8px;padding:10px 12px;align-self:stretch}
