.registration-launch{position:fixed;right:16px;top:12px;z-index:30;padding:10px 18px;border:2px solid #fbd665;border-radius:24px;background:#631b13;color:#fff1b7;font-weight:bold;cursor:pointer;box-shadow:0 3px 12px #0005}
.review-prize-button{position:fixed;left:16px;top:12px;z-index:30;padding:10px 18px;border:2px solid #fbd665;border-radius:24px;background:#631b13;color:#fff1b7;font-weight:bold;cursor:pointer;box-shadow:0 3px 12px #0005}
#prize-review{width:min(420px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:24px;border:3px solid #d9a437;border-radius:24px;background:linear-gradient(#fff8df,#ffdf80);color:#542010;text-align:center;font-family:Arial,sans-serif}
#prize-review::backdrop{background:#160801bb;backdrop-filter:blur(5px)}
#prize-review h2{margin:0 0 18px}.review-card{display:grid;place-items:center;margin-bottom:20px}.review-card .card-face{display:block;width:min(220px,50vw);height:auto;aspect-ratio:200/276;border-radius:24px}
@media(max-width:600px){.review-prize-button{top:8px;left:8px;padding:8px 10px;font-size:11px}.registration-launch{max-width:52vw}}
*{box-sizing:border-box}[hidden]{display:none!important}
.registration-page{margin:0;min-height:100vh;padding:32px 12px;display:grid;place-items:center;background:radial-gradient(ellipse at top,#843f20,#240b09);font-family:Arial,sans-serif}
.registration-page #registration-dialog{max-height:none;margin:0 auto}
.registration-page h1{font-size:26px;line-height:1.15}
.registration-page #registration-preview{width:100%;height:260px;object-fit:contain;border:1px solid #ccac72;background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 50% / 20px 20px}
#registration-form .consent{display:flex;align-items:flex-start;font-size:13px;line-height:1.4;font-weight:400}#registration-form .consent input{width:auto;margin-top:3px}
#retry-photo,#copy-registration{padding:10px;border:1px solid #b78623;border-radius:8px;background:#ffdb80;cursor:pointer}
#registration-link,#host-login input{width:100%;padding:12px;margin:10px 0;border:1px solid #b78623;border-radius:8px}
#draw-message{position:absolute;left:8%;top:65%;width:57%;padding:12px;background:#491409ee;color:#fff4cf;border:1px solid #dfb449;border-radius:12px;font:700 1.4cqw Arial,sans-serif;text-align:center}
@media(max-width:700px) and (orientation:portrait){#draw-message{left:5%;top:51%;width:90%;font-size:3.2cqw}}
#registration-count{margin-left:8px;background:#ffd765;color:#542010;border-radius:20px;padding:2px 7px}
#registration-dialog{width:min(540px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:3px solid #d9a437;border-radius:24px;background:linear-gradient(145deg,#fff8df,#ffebaf);color:#542010;padding:28px;box-shadow:0 20px 80px #0008}
#registration-dialog::backdrop{background:#160801bb;backdrop-filter:blur(5px)}
#registration-dialog h2{font-size:23px;margin:8px 32px 12px 0}#registration-dialog p{line-height:1.5}
.registration-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#632015;font-size:32px;cursor:pointer}
#registration-form{display:grid;gap:14px}#registration-form label{display:grid;gap:6px;font-weight:bold;font-size:14px}
#registration-form input,#registration-form select{width:100%;min-width:0;padding:11px;border:1px solid #c99438;border-radius:9px;background:#fffdf4;color:#38170e;font:inherit}
.registration-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.registration-help{font-size:12px;margin:-7px 0 0}
.registration-save{padding:14px;border:3px solid #bd271c;border-radius:25px;background:linear-gradient(#ffdf8c,#ffb832);color:#5a2010;font-weight:900;cursor:pointer}.registration-save:disabled{opacity:.6;cursor:wait}
#registration-message{margin:0;font-size:14px}#registration-preview{width:90px;height:100px;object-fit:cover;border-radius:10px}
#participant-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-height:240px;overflow:auto}#participant-list li{display:flex;align-items:center;gap:12px;padding:10px;background:#ffffff80;border-radius:10px;font-size:14px;overflow-wrap:anywhere}#participant-list img{width:42px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}
#winner-photo.registered-photo{background:none;overflow:hidden}#winner-photo.registered-photo img{width:100%;height:100%;object-fit:contain}
#registration-form .gender-picker{min-width:0;margin:0;padding:0;border:0}
#registration-form .gender-picker legend{margin:0 0 6px;padding:0;font-size:14px;font-weight:bold}
.gender-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#registration-form .gender-options label{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;padding:9px 7px;border:1px solid #c99438;border-radius:9px;background:#fffdf4;color:#38170e;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
#registration-form .gender-options input{width:16px;height:16px;min-width:16px;padding:0;margin:0;accent-color:#9f2d24}
.gender-options label:has(input:checked){border-color:#9f2d24;background:#ffe5a5}
.gender-options label:focus-within{outline:2px solid #9f2d24;outline-offset:2px}
.gender-mark{color:#9f2d24;font-size:19px;line-height:1}
@media(max-width:480px){.registration-row{grid-template-columns:minmax(0,1fr)}}
#winner-note{font-size:clamp(12px,1.3cqw,26px);overflow-wrap:anywhere}
.stage[data-screen=result] .machine-slot:nth-child(3) .slot-value,.stage[data-screen=result] .machine-slot:nth-child(3) .slot-strip span{font-size:clamp(12px,1.65cqw,22px);overflow-wrap:anywhere;text-align:center;line-height:1.1}
@media(max-width:700px) and (orientation:portrait){#winner-note{font-size:clamp(14px,3.3cqw,22px)}.stage[data-screen=result] .machine-slot:nth-child(3) .slot-value,.stage[data-screen=result] .machine-slot:nth-child(3) .slot-strip span{font-size:clamp(12px,3.2cqw,18px)}.registration-launch{top:8px;right:8px;padding:8px 12px;font-size:12px}}
