@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/258bd0ab5fdd762a-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/99a2019bdfa8519b-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/44e0cb21b0d052b7-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/f9cd5a77d065db98-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/954d21e04331b2ae-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/53897e768d329f66-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.PEYQtG_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}
:root{--ink:#111;--paper:#fff;--muted:#55555c;--line:#d4d4d8;--error:#b00020}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-size:16px;line-height:1.5}a{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.page{flex-direction:column;gap:24px;max-width:480px;min-height:100dvh;margin:0 auto;padding:32px 16px;display:flex}.logo{margin:0 auto;display:block}h1{text-align:center;margin:0;font-size:1.6rem;line-height:1.2}h2{margin:0;font-size:1.05rem}p{margin:0}.muted{color:var(--muted);font-size:.875rem}.form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;font-weight:700;display:flex}input[type=text],input[type=password],input[type=datetime-local]{border:2px solid var(--ink);background:var(--paper);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:0;padding:12px;font-weight:400}.handle-input{border:2px solid var(--ink);background:var(--paper);align-items:center;display:flex}.handle-input:focus-within{outline:3px solid var(--ink);outline-offset:2px}.handle-prefix{-webkit-user-select:none;user-select:none;padding-left:12px;font-weight:700}.handle-input input[type=text]{border:0;outline:none;min-width:0;padding-left:4px}.check{align-items:flex-start;gap:10px;font-size:.875rem;display:flex}.check input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin:0}button{border:2px solid var(--ink);background:var(--ink);min-height:48px;color:var(--paper);font:inherit;cursor:pointer;padding:12px;font-weight:700}button:disabled{opacity:.6;cursor:progress}.error{color:var(--error);font-weight:700}.card{border:2px solid var(--ink);flex-direction:column;gap:8px;padding:16px;display:flex}.links{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:auto;font-size:.875rem;display:flex}.notice{border:2px dashed var(--ink);padding:12px;font-size:.875rem}.stats{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.stats dt{color:var(--muted);font-size:.75rem}.stats dd{margin:0;font-size:1.5rem;font-weight:700}.game-stage{z-index:10;background:var(--ink);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:min(100vw,56.25dvh);height:min(100dvh,177.778vw)}.roulette{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.roulette-frame{width:min(100%,320px);position:relative}.roulette-pointer{z-index:1;border-left:12px solid #0000;border-right:12px solid #0000;border-top:22px solid var(--error);width:0;height:0;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.roulette-wheel{transition-property:transform;transition-timing-function:cubic-bezier(.15,.85,.2,1)}.modal{border:2px solid var(--ink);background:var(--paper);width:min(100% - 32px,360px);color:var(--ink);text-align:center;padding:24px 16px 16px}.modal[open]{flex-direction:column;gap:16px;display:flex}.modal::backdrop{background:#000000b3}.raffle-name{overflow-wrap:anywhere;justify-content:center;align-items:center;min-height:3.5em;font-size:1.25rem;font-weight:700;display:flex}.raffle-name.revealed{background:var(--ink);color:var(--paper)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.roulette-percent{font-size:1.25rem;font-weight:700}.qr{align-self:center;max-width:100%;height:auto}.code{text-align:center;overflow-wrap:anywhere;font-size:.75rem}.share-preview{border:2px solid var(--ink);align-self:center;width:min(100%,240px);height:auto;display:block}.button-link{border:2px solid var(--ink);background:var(--ink);min-height:48px;color:var(--paper);text-align:center;padding:10px 12px;font-weight:700;text-decoration:none;display:block}.button-link.secondary{background:var(--paper);color:var(--ink)}.requirements{margin:0;padding-left:20px}.ranking{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ranking li{overflow-wrap:anywhere;justify-content:space-between;gap:12px;display:flex}.page:has(.admin){max-width:1040px}.admin{flex-direction:column;gap:24px;display:flex}.admin h1{text-align:left}.admin-nav{border-bottom:2px solid var(--ink);flex-wrap:wrap;gap:8px 16px;padding-bottom:12px;font-weight:700;display:flex}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;display:grid}.participant{text-decoration:none}.participant,.admin .card{overflow-wrap:anywhere;min-width:0}.filters{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}select{border:2px solid var(--ink);background:var(--paper);width:100%;min-height:48px;color:var(--ink);font:inherit;border-radius:0;padding:10px;font-weight:400}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:2px solid var(--ink);padding:2px 8px;font-size:.75rem;font-weight:700}.chip.validated,.chip.coupon-available{background:var(--ink);color:var(--paper)}.chip.pending{border-style:dashed}.chip.rejected,.chip.coupon-redeemed,.chip.coupon-expired,.chip.coupon-void{border-color:var(--error);color:var(--error)}button.danger{border-color:var(--error);background:var(--error)}button.secondary{background:var(--paper);color:var(--ink)}details>summary{cursor:pointer;min-height:32px;font-weight:700}details>.form{margin-top:8px}@media (prefers-reduced-motion:reduce){.roulette-wheel{transition-duration:0s!important}}.document{flex-direction:column;gap:16px;display:flex}
