:root{--error: #b3261e;--border: #767676;--gap: 16px;--page-pad: 12px;--max-width: 560px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-latin);font-size:16px;line-height:1.5;color:var(--text);background-color:var(--bg)}body:before{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(var(--bg-overlay),var(--bg-overlay)),var(--bg-image);background-size:cover;background-position:center}:lang(ar) body,body:lang(ar){font-family:var(--font-arabic),var(--font-latin)}h1,h2{font-family:var(--font-display-latin);line-height:1.2;margin-block:0 12px}:lang(ar) h1,:lang(ar) h2{font-family:var(--font-display-arabic),var(--font-arabic)}h2{font-size:1.5rem;color:var(--brand-primary)}h2:focus{outline:none}p{margin-block:0 12px}bdi[dir=ltr]{unicode-bidi:isolate}:focus-visible{outline:3px solid var(--brand-primary);outline-offset:2px}#app{max-width:var(--max-width);margin-inline:auto;padding-inline:var(--page-pad);padding-block-end:48px}.site-header{margin-block:12px 20px}.header-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-block-end:8px}.lang-toggle{min-height:44px;min-width:44px;padding-inline:16px;border:2px solid var(--brand-primary);border-radius:999px;background:var(--surface);color:var(--brand-primary);font:inherit;font-weight:700;cursor:pointer}.lang-toggle:lang(ar){font-family:var(--font-arabic)}.logo-strip{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:10px;margin:0;padding:10px 8px;min-height:72px;list-style:none;border-radius:var(--radius);background:#ffffffd9}.logo-strip img{display:block;height:40px;width:auto;max-width:none}.logo-strip:not(.sized) img{visibility:hidden}.card{background:var(--surface);border-radius:var(--radius);padding:20px var(--gap);margin-block-end:var(--gap);box-shadow:0 1px 3px #0000001f}button.primary,button.secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-block:12px 0;padding:12px 20px;border-radius:var(--radius);font:inherit;font-size:1.125rem;font-weight:700;cursor:pointer}button.primary{border:0;background:var(--brand-primary);color:var(--brand-primary-contrast)}button.secondary{border:2px solid var(--brand-primary);background:var(--surface);color:var(--brand-primary)}button:disabled{opacity:.7;cursor:progress}.spinner{width:18px;height:18px;border:3px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{margin-block-end:18px;border:0;padding:0;min-inline-size:0}.field>label,.field legend{display:block;font-weight:700;margin-block-end:6px;padding:0}.help{font-size:.9375rem;color:var(--text-muted);margin-block:-2px 8px}input[type=text],input[type=tel],input[type=date],input[type=search],input[inputmode],select,textarea{display:block;width:100%;min-height:48px;padding:10px 12px;border:2px solid var(--border);border-radius:calc(var(--radius) * .7);background:var(--surface);color:var(--text);font:inherit;font-size:1rem}[aria-invalid=true] input,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}.error{color:var(--error);font-size:.9375rem;font-weight:700;margin-block:6px 0}.error:empty{display:none}.checkbox label,.checkboxes label{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding-block:8px;cursor:pointer}.checkbox input,.checkboxes input{flex:none;width:24px;height:24px;margin:0;accent-color:var(--brand-primary)}.banner{border-inline-start:6px solid var(--error);background:#fdecea;color:var(--text);padding:12px 14px;border-radius:calc(var(--radius) * .5);margin-block-end:var(--gap);font-weight:700}.banner:focus{outline:3px solid var(--error)}dialog{border:0;border-radius:var(--radius);padding:0;width:min(100vw - 24px,var(--max-width));max-height:min(100vh - 48px,720px);color:var(--text);background:var(--surface)}dialog::backdrop{background:#00000073}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.intro{text-align:center;margin-block-end:20px}.intro h1{font-size:clamp(2rem,9vw,2.75rem);color:var(--brand-primary);text-shadow:2px 2px 0 #fff,-2px 2px 0 #fff,2px -2px 0 #fff,-2px -2px 0 #fff,0 3px 0 #fff}.intro h1 .kicker{display:table;margin:0 auto 10px;padding:4px 16px;border-radius:999px;background:var(--brand-primary);color:var(--brand-primary-contrast);font-family:var(--font-latin);font-size:1.0625rem;font-weight:700;letter-spacing:.04em;text-shadow:none}:lang(ar) .intro h1 .kicker{font-family:var(--font-arabic);letter-spacing:0}.intro h1 .event-name{display:block}.pills{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding:0;list-style:none}.pills li{padding:6px 16px;border-radius:var(--radius);background:#fffc;color:var(--brand-primary);font-weight:700}.terms{margin-block-start:12px;font-size:.9375rem;color:var(--text-muted);text-align:center}.terms summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px;padding-block:6px}.terms summary::-webkit-details-marker{display:none}.terms[open] summary{margin-block-end:6px}.terms p{text-align:start;margin-block:0 8px}.register-block .pills,.ticket-list+.pills{margin-block:4px var(--gap)}.turnstile{min-height:65px;margin-block:12px 4px}.turnstile-hint{margin:0 0 8px;padding:8px 12px;border-radius:calc(var(--radius) * .6);background:#fff8db;font-weight:700}.turnstile-hint.nudge{animation:nudge .5s ease-in-out 2}@keyframes nudge{50%{transform:scale(1.03);box-shadow:0 0 0 3px var(--brand-primary)}}.phone-row{display:flex;gap:8px}.phone-row input{flex:1;min-width:0}button.country{flex:none;display:flex;align-items:center;gap:6px;min-height:48px;padding-inline:10px;border:2px solid var(--border);border-radius:calc(var(--radius) * .7);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.flag{font-size:1.25rem;line-height:1}.caret{color:var(--text-muted);font-size:.75rem}.country-dialog .dialog-head{display:flex;justify-content:space-between;align-items:center;padding:12px var(--gap) 0}.country-dialog h2{margin:0}.country-dialog .close{min-width:44px;min-height:44px;border:0;background:none;font-size:1.75rem;cursor:pointer;color:var(--text)}.country-search{margin:12px var(--gap);width:calc(100% - 2 * var(--gap))!important}.country-list{list-style:none;margin:0;padding:0 0 12px;overflow-y:auto;max-height:calc(min(100vh - 48px,720px) - 140px)}.country-list button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px var(--gap);border:0;background:none;font:inherit;text-align:start;color:var(--text);cursor:pointer}.country-list button:hover,.country-list button[aria-current=true]{background:#0000000d}.country-list .name{flex:1}.country-list .dial{color:var(--text-muted)}.country-list .group{padding:12px var(--gap) 4px;font-size:.875rem;font-weight:700;color:var(--text-muted);border-block-start:1px solid rgba(0,0,0,.1)}.ticket{text-align:center}.ticket-card{display:flex;flex-direction:column;align-items:center}.qr{display:block;max-width:100%;height:auto;margin-block-end:12px;image-rendering:pixelated}.short-code{display:flex;flex-direction:column;align-items:center;font-size:2rem;font-weight:700;letter-spacing:.06em;margin:0}.short-code .label{font-size:.875rem;font-weight:400;letter-spacing:0;color:var(--text-muted)}.ticket-name{font-size:1.375rem;font-weight:700;margin-block:8px}.event-details{list-style:none;margin:8px 0 0;padding:0;color:var(--text-muted)}.instructions{background:#ffffffe6;border-radius:var(--radius);padding:12px var(--gap);font-weight:700}.ticket-list ul{list-style:none;margin:0;padding:0}.ticket-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:64px;margin-block-end:10px;padding:12px var(--gap);border:0;border-radius:var(--radius);background:var(--surface);box-shadow:0 1px 3px #0000001f;font:inherit;text-align:start;cursor:pointer;color:var(--text)}.ticket-row .ticket-name{margin:0;font-size:1.125rem}.ticket-row .short-code{font-size:1.125rem;color:var(--brand-primary)}.closed{text-align:center}.loading{padding:32px 0;text-align:center;font-weight:700}
