* { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #000; color: #fff; min-height: 100vh; }
        
        .container { max-width: 480px; margin: 0 auto; padding: 30px 20px; }
        
        .logo { text-align: center; margin-bottom: 30px; }
        .logo a { font-size: 28px; font-weight: 700; text-decoration: none; }
        .logo span:first-child { color: #ff6b00; }
        .logo span:last-child { color: #fff; }
        
        .register-card { background: #111; border: 1px solid #333; border-radius: 12px; padding: 30px; }
        .register-title { font-size: 22px; text-align: center; margin-bottom: 25px; color: #ff6b00; }
        
        .form-group { margin-bottom: 20px; }
        .form-group label { display: block; font-size: 14px; color: #888; margin-bottom: 8px; }
        .form-group .required { color: #ff6b00; }
        .form-group input { width: 100%; background: #1a1a1a; border: 1px solid #333; border-radius: 8px; padding: 14px 16px; color: #fff; font-size: 16px; }
        .form-group input:focus { outline: none; border-color: #ff6b00; }
        .form-group input:focus-visible { outline: 2px solid #ff6b00; outline-offset: 2px; }
        .form-group small { font-size: 11px; color: #666; margin-top: 5px; display: block; }
        /* input inside email-combo is excluded from form-group default styles */
        .form-group .email-combo input { width: auto; background: transparent; border: none; border-radius: 0; }
        .form-group .email-combo input:focus { border-color: transparent; }
        
        .captcha-box { background: #1a1a1a; border: 1px solid #333; border-radius: 8px; padding: 15px; display: flex; align-items: center; gap: 15px; }
        .captcha-question { font-size: 18px; font-weight: 600; color: #ff6b00; }
        .captcha-input { flex: 1; background: #0a0a0a; border: 1px solid #333; border-radius: 6px; padding: 10px 12px; color: #fff; font-size: 16px; text-align: center; }
        
        .regions-group { margin-bottom: 20px; }
        .regions-title { font-size: 14px; color: #888; margin-bottom: 10px; }
        .regions-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
        .region-item { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: #1a1a1a; border: 1px solid #333; border-radius: 6px; cursor: pointer; font-size: 13px; }
        .region-item:hover { border-color: #ff6b00; }
        .region-item input { accent-color: #ff6b00; }
        .region-item.checked { border-color: #ff6b00; background: #1a1208; }
        
        .errors { background: #3d1a1a; border: 1px solid #ff4444; border-radius: 8px; padding: 15px; margin-bottom: 20px; }
        .errors li { color: #fca5a5; font-size: 13px; margin-left: 15px; margin-bottom: 5px; }
        .errors li:last-child { margin-bottom: 0; }
        
        .submit-btn { width: 100%; background: #ff6b00; color: #000; border: none; padding: 16px; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; margin-top: 10px; }
        .submit-btn:hover { background: #ff8533; }
        
        .login-link { text-align: center; margin-top: 20px; font-size: 14px; color: #888; }
        .login-link a { color: #ff6b00; text-decoration: none; }
        
        .success-box { text-align: center; padding: 40px 20px; }
        .success-icon { font-size: 60px; margin-bottom: 20px; }
        .success-title { font-size: 24px; color: #4ade80; margin-bottom: 10px; }
        .success-msg { color: #888; margin-bottom: 25px; }
        .success-btn { display: inline-block; background: #ff6b00; color: #000; padding: 14px 30px; border-radius: 8px; font-weight: 600; text-decoration: none; }
        
        .member-type-group { margin-bottom: 20px; }
        .member-type-title { font-size: 14px; color: #888; margin-bottom: 10px; }
        .member-type-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
        .member-type-item { position: relative; }
        .member-type-item input { position: absolute; opacity: 0; width: 0; height: 0; }
        .member-type-item label { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 10px; background: #1a1a1a; border: 2px solid #333; border-radius: 10px; cursor: pointer; transition: all 0.2s; text-align: center; }
        .member-type-item label:hover { border-color: #555; }
        .member-type-item input:checked + label { border-color: #ff6b00; background: #1a1208; }
        .member-type-icon { font-size: 24px; }
        .member-type-name { font-size: 14px; font-weight: 600; color: #fff; }
        .member-type-desc { font-size: 11px; color: #888; }
        .business-fields { display: none; margin-top: 15px; padding: 15px; background: #1a1208; border: 1px solid #3d2814; border-radius: 8px; }
        .business-fields.show { display: block; }
        .business-fields .form-group { margin-bottom: 15px; }
        .business-fields .form-group:last-child { margin-bottom: 0; }
        
        .business-terms-box { background: #0d1117; border: 1px solid #ff6b00; border-radius: 8px; padding: 15px; margin-top: 15px; }
        .business-terms-title { color: #ff6b00; font-size: 14px; font-weight: 600; margin-bottom: 10px; }
        .business-terms-list { margin-left: 18px; margin-bottom: 12px; }
        .business-terms-list li { color: #999; font-size: 12px; margin-bottom: 6px; line-height: 1.5; }
        .business-agree-label { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; font-size: 13px; color: #ccc; line-height: 1.5; padding-top: 8px; border-top: 1px solid #222; }
        .business-agree-label input { accent-color: #ff6b00; margin-top: 3px; flex-shrink: 0; }
        
        /* ★ Email Combo (4:1:4 ratio) */
        .email-row { display: flex; gap: 8px; }
        .email-combo {
            flex: 1;
            display: flex;
            align-items: center;
            gap: 0;
            background: #1a1a1a;
            border: 1px solid #333;
            border-radius: 8px;
        }
        .email-combo:focus-within {
            border-color: #ff6b00;
        }
        .email-combo .email-local {
            flex: 4;
            min-width: 0;
            background: transparent;
            border: none;
            padding: 14px 10px;
            color: #fff;
            font-size: 16px;
        }
        .email-combo .email-local:focus {
            outline: none;
        }
        .email-combo .email-local:focus-visible {
            outline: 2px solid #ff6b00;
            outline-offset: 2px;
        }
        .email-combo .email-at {
            flex: 1;
            color: #999;
            font-size: 16px;
            padding: 0;
            text-align: center;
            flex-shrink: 0;
            user-select: none;
        }
        .email-combo .email-domain {
            flex: 4;
            background: transparent;
            border: none;
            border-left: 1px solid #333;
            border-radius: 0;
            padding: 14px 6px;
            color: #fff;
            font-size: 13px;
            cursor: pointer;
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
        }
        .email-combo .email-domain:focus {
            outline: none;
        }
        .email-combo .email-domain:focus-visible {
            outline: 2px solid #ff6b00;
            outline-offset: 2px;
        }
        .email-combo .email-domain option {
            background: #1a1a1a;
            color: #fff;
        }
        .email-domain-custom {
            width: 100%;
            background: #1a1a1a;
            border: 1px solid #333;
            border-radius: 8px;
            padding: 14px 16px;
            color: #fff;
            font-size: 16px;
        }
        .email-domain-custom:focus {
            outline: none;
            border-color: #ff6b00;
        }
        .email-domain-custom:focus-visible {
            outline: 2px solid #ff6b00;
            outline-offset: 2px;
        }
        
        .send-code-btn { width: 100%; background: #333; color: #ff6b00; border: 1px solid #ff6b00; border-radius: 8px; padding: 14px 16px; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; transition: all 0.2s; }
        .send-code-btn:hover { background: #ff6b00; color: #000; }
        .send-code-btn:disabled { opacity: 0.5; cursor: not-allowed; }
        .code-row { display: none; gap: 8px; margin-top: 8px; }
        .code-row input { flex: 1; }
        .verify-btn { background: #4ade80; color: #000; border: none; border-radius: 8px; padding: 14px 16px; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
        .verify-btn:hover { background: #22c55e; }
        .email-status { font-size: 12px; margin-top: 6px; }
        .email-status.success { color: #4ade80; }
        .email-status.error { color: #f87171; }
        .email-status.info { color: #60a5fa; }
        
        .terms-group { margin: 20px 0 10px; }
        .terms-label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 13px; color: #888; line-height: 1.5; }
        .terms-label input { accent-color: #ff6b00; margin-top: 3px; flex-shrink: 0; }
        .terms-label a { color: #ff6b00; text-decoration: none; }
        .terms-label a:hover { text-decoration: underline; }
        .terms-error { color: #f87171; font-size: 12px; margin-top: 6px; display: none; }
        
        .pending-box { text-align: center; padding: 40px 20px; }
        .pending-icon { font-size: 60px; margin-bottom: 20px; }
        .pending-title { font-size: 24px; color: #fcd34d; margin-bottom: 10px; }
        .pending-msg { color: #888; margin-bottom: 25px; line-height: 1.6; }