*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--purple: #7B2FBE;--purple-light: #9B4FDE;--purple-dark: #4A1080;--black: #000000;--white: #ffffff}html,body{background:var(--black);color:var(--white);font-family:DM Sans,sans-serif;font-size:16px;line-height:1.5;min-height:100dvh;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}h1,h2,h3,.heading{font-family:Bebas Neue,sans-serif;letter-spacing:.04em;color:var(--white)}.app{max-width:600px;margin:0 auto;padding:0;min-height:100dvh;display:flex;flex-direction:column}.screen{flex:1;padding:32px 24px 48px;display:flex;flex-direction:column}.screen-title{font-family:Bebas Neue,sans-serif;font-size:48px;line-height:1;letter-spacing:.04em;color:var(--white);margin-bottom:8px}.screen-subtitle{font-size:14px;color:#ffffff8c;margin-bottom:32px}.step-indicator{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-light);margin-bottom:12px}.age-banner{background:#1a0a2e;border-bottom:1px solid var(--purple-dark);padding:10px 24px;font-size:13px;color:var(--purple-light);letter-spacing:.04em;text-align:center}.btn{display:block;width:100%;padding:18px 24px;background:var(--black);border:1px solid var(--purple);color:var(--white);font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,border-color .15s ease;border-radius:0;text-align:center}.btn:hover,.btn:active{background:var(--purple);border-color:var(--purple-light)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{background:var(--black);border-color:var(--purple)}.btn-secondary{border-color:var(--purple-dark);font-size:14px;padding:14px 24px}.btn-secondary:hover,.btn-secondary:active{background:var(--purple-dark);border-color:var(--purple)}.btn-group{display:flex;flex-direction:column;gap:12px;margin-top:32px}.field{margin-bottom:24px}.field label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple-light);margin-bottom:8px}.field input{display:block;width:100%;background:var(--black);border:none;border-bottom:1px solid var(--purple-dark);border-radius:0;color:var(--white);font-family:DM Sans,sans-serif;font-size:18px;padding:10px 0;outline:none;transition:border-color .15s ease;-webkit-appearance:none;appearance:none}.field input::placeholder{color:#ffffff61}.field input:focus{border-bottom-color:var(--purple-light)}.field input.has-error{border-bottom-color:#9b2fbe}.field-error{margin-top:6px;font-size:13px;color:#b84fde}.checkbox-item{display:flex;align-items:flex-start;gap:14px;cursor:pointer;padding:14px 0;-webkit-tap-highlight-color:transparent}.checkbox-item input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.checkbox-box{flex-shrink:0;width:22px;height:22px;background:var(--black);border:1.5px solid var(--purple-dark);display:flex;align-items:center;justify-content:center;transition:background .12s ease,border-color .12s ease;margin-top:1px}.checkbox-item:hover .checkbox-box{border-color:var(--purple)}.checkbox-box.checked{background:var(--purple);border-color:var(--purple)}.checkbox-box.checked:after{content:"";display:block;width:5px;height:10px;border:2px solid var(--white);border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}.checkbox-box.disabled{opacity:.35;cursor:not-allowed}.checkbox-label{font-size:15px;line-height:1.5;color:var(--white);flex:1}.checkbox-label.disabled{color:#ffffff59}.waiver-section{margin-bottom:0}.waiver-section-header{font-family:Bebas Neue,sans-serif;font-size:22px;letter-spacing:.04em;color:var(--purple-light);margin-bottom:12px}.waiver-section-text{font-size:14px;line-height:1.7;color:#ffffffbf;margin-bottom:16px}.section-divider{height:1px;background:var(--purple-dark);margin:24px 0}.sig-wrap{position:relative;width:100%;height:220px;background:var(--black);border:1px solid var(--purple-dark);margin-bottom:12px;overflow:hidden}.sig-wrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.sig-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff3;pointer-events:none;letter-spacing:.08em;text-transform:uppercase}.blocked-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;gap:16px}.blocked-icon{font-size:56px;line-height:1}.blocked-title{font-family:Bebas Neue,sans-serif;font-size:42px;letter-spacing:.04em;color:var(--white)}.blocked-body{font-size:16px;color:#fff9;max-width:300px}.confirmation-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px 48px;text-align:center;gap:24px}.confirmation-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--purple-light)}.confirmation-id-box{width:100%;border:1.5px solid var(--purple);padding:28px 20px;box-shadow:0 0 28px #7b2fbe73,inset 0 0 20px #7b2fbe14}.confirmation-id{font-family:Bebas Neue,sans-serif;font-size:38px;letter-spacing:.08em;color:var(--white);word-break:break-all;line-height:1.15}.confirmation-name{font-size:20px;font-weight:600;color:var(--white)}.confirmation-timestamp{font-size:13px;color:#ffffff73}.confirmation-instruction{font-size:15px;color:#ffffffb3;border-top:1px solid var(--purple-dark);padding-top:24px;width:100%}.confirmation-instruction strong{display:block;font-family:Bebas Neue,sans-serif;font-size:24px;letter-spacing:.04em;color:var(--purple-light);margin-bottom:4px}.submit-error{margin-top:16px;padding:14px 16px;border:1px solid var(--purple-dark);background:#0f0018;font-size:14px;color:#b84fde;line-height:1.5}
